PTA——7-3 逆序的三位数 (10分)

要求:

程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。

正确思路:

拆分字符串后拼接成整数

1 #include <stdio.h>
2 int main()
3   {
4   int x;
5   scanf("%d",&x);
6   x=x%10*100+x/10%10*10+x/100;
7   printf("%d",x);
8   return 0;
9   }

我的程序:

 1 #include <stdio.h>
 2 int main(){
 3 int in,a[2];
 4 scanf("%d",&in);
 5
 6 // 获取各位数字
 7 a[0] = in%10;
 8 a[1] = in/10%10;
 9 a[2] = in/100;
10
11 // 从第一个不是0的数开始输出
12 int t = 0;
13 for(int i = 0 ; i < 3 ; i++ ){
14     if(a[i] != 0 ){
15         t = i;
16         break;
17     }
18 }
19 for(int j = t ; j < 3 ; j++ ){
20     printf("%d",a[j]);
21 }
22 return 0;
23 }

不但思路复杂,结果还是错的(没有考虑都为0的情况)

原文地址:https://www.cnblogs.com/cxc1357/p/12235663.html

时间: 2024-08-28 13:14:00

PTA——7-3 逆序的三位数 (10分)的相关文章

2-3. 逆序的三位数(10)

程序每次读入一个正3位数,然后输出按位逆序的数字.注意:当输入的数字含有结尾的0时,输出不应带有前导的0.比如输入700,输出应该是7. 输入格式: 每个测试是一个3位的正整数. 输出格式: 输出按位逆序的数. 输入样例: 123 输出样例: 321 1 #include <stdio.h> 2 3 int main() 4 { 5 int x; 6 scanf("%d", &x); 7 int a, b, c; //a为百位数字,b为十位数字 ,c为个位数字 8

02-3. 逆序的三位数(10)

程序每次读入一个正3位数,然后输出按位逆序的数字.注意:当输入的数字含有结尾的0时,输出不应带有前导的0.比如输入700,输出应该是7. 输入格式: 每个测试是一个3位的正整数. 输出格式: 输出按位逆序的数. 输入样例: 123 输出样例: 321 注:测试数据都是3位正整数,末位带零逆序不能显示 #include "stdio.h" int main() { int a; scanf("%d",&a); if((a%10)>0) { printf(

程序设计入门——C语言 第1周编程练习 1逆序的三位数(5分)

第1周编程练习 查看帮助 返回 第1周编程练习题,直到课程结束之前随时可以来做.在自己的IDE或编辑器中完成作业后,将源代码的全部内容拷贝.粘贴到题目的代码区,就可以提交,然后可以查看在线编译和运行的结果.不要在程序中输出题目要求输出的内容以外的东西. 依照学术诚信条款,我保证此作业是本人独立完成的. 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截止时间之前不限次数提交答案,系统将取其中的最高分作为最终成绩. 1 逆序的三位数(5分) 题目

C语言程序设计_浙江大学——第1周编程练习_逆序的三位数

1 逆序的三位数(5分) 题目内容: 逆序的三位数: 程序每次读入一个正三位数,然后输出逆序的数字.注意,当输入的数字含有结尾的0时,输出不应带有前导的0.比如输入700,输出应该是7. 提示:用%10可以得到个位数,用/100可以得到百位数....将这样得到的三个数字合起来:百位*100+十位*10+个位,就得到了结果. 注意:除了题目要求的输出,不能输出任何其他内容,比如输入时的提示,输出时的说明等等都不能.这道题目要求输出逆序的数字,程序就只能输出这个数字,除此之外任何内容都不能输出. 输

逆序的三位数C语言实现

最近在上浙江大学翁恺老师的<程序设计入门-C语言>课,翁老师那富有男性特有魅力的磁性嗓音深深吸引了我....虽然我是男的.课程首周有个测试题: 题目内容: 程序每次读入一个正三位数,然后输出逆序的数字.注意,当输入的数字含有结尾的0时,输出不应带有前导的0.比如输入700,输出应该是7. 输入格式: 每个测试是一个3位的正整数. 输出格式: 输出逆序的数. 输入样例: 123 输出样例: 321 难度不大,很快就写出来了,在线提交了测试通过了,代码如下,写在博客上留作纪念,方便以后查看吧. P

[C语言程序设计]逆序的三位数

题目内容: 程序每次读入一个正三位数,然后输出逆序的数字.注意,当输入的数字含有结尾的0时,输出不应带有前导的0.比如输入700,输出应该是7. 输入格式: 每个测试是一个3位的正整数. 输出格式: 输出逆序的数. 输入样例: 123 输出样例: 321 代码: #include <stdio.h> int main(){ int in,out; scanf("%d",&in); while(in > 0){ out = in%10; if (out >

5-3 逆序的三位数

程序每次读入一个正3位数,然后输出按位逆序的数字.注意:当输入的数字含有结尾的0时,输出不应带有前导的0.比如输入700,输出应该是7. 输入格式: 每个测试是一个3位的正整数. 输出格式: 输出按位逆序的数. 输入样例: 123 输出样例: 321 程序代码:* #include<iostream>using namespace std;int main(){ int a,b; cin>>a; b=a/100+a/10%10*10+a%10*100; if(b%10==0&

[C语言]逆序的三位数

---------------------------------------------------------------------------------------- //  main.c //  demo8 //  Created by weichen on 14/12/18. //  Copyright (c) 2014年 weichen. All rights reserved. #include <stdio.h> int main() { int a = 0; printf

单链表逆序的三种方法

一.不使用额外存储空间的逆序 LinkList ReverseLink(LinkList L) { LinkList *next; LinkList *prev = NULL; LinkList *head = L->next; while(head != NULL) { next = head->next; head->next = prev; prev = head; head = next; } L->next = prev return L; } 二.头插法逆序 LinkL