C语言怎么编写一个程序:每次读入一个正三位数,然后输出逆序的数字。

C语言程序每次读入一个正三位数,然后输出逆序的数字。注意,当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。怎么编写?

#include<stdio.h>

int main() {
int n;
while(scanf("%d",&n) != EOF) {
int gewei = n%10;//n对10取模,意思就是n除以10的余数,那肯定就是个位上的数字
n = n/10;//然后n除以10,按照整型int运算规则,舍弃了小数部分,所以原来的三位数变成两位数
int shiwei = n%10;
n = n/10;
int baiwei = n;
printf("%d%d%d\n",gewei,shiwei,baiwei);
}
return 0;
}

要稍微思考一下

追问

不行啊!注意,当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7

追答

那你可以加以判断啊
if(gewei != 0)printf("%d",gewei);
if(shiwei != 0 || (gewei != 0 && shiwei == 0))printf("%d",shiwei);
printf("%d\n",baiwei);
我觉得你都能找出错误的案例,肯定自己再动动脑筋就能想出来的,这个多想想以后做起来就会简单很多了

追问

谢谢了

追答

谢谢 你也 采纳啊 !为了积分来的呢

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-08-12
为什么不再设置一个变量呢?
#include<stdio.h>
int main()
{
int a,b,c,d;
printf("请输入数字");
scanf("%d",&a);
b=a/100;
c=a/10%10;
d=a%10;
int f;
f=d*100+c*10+b;
printf("倒序数字%d",f);
return 0;
}
这样700就可以变成7
第2个回答  2019-03-31
是mooc里的C语言课吗?这是我自己写的5分答案
#include<stdio.h>
int main(){
int a,b,c,d;
scanf("%d",&d);
a=d/100;
b=d/10%10;
c=d%10;
printf("%d",c*100+b*10+a);
return 0;}
第3个回答  2020-03-11
#include<stdio.h>
int main()
{
int a=0, b=0, c=0, d=0;
scanf("%d",&d);
a = d / 100;
b = d / 10 % 10;
c = d % 10;
if (c&&b == 0) {
printf("%d\n", a);
if (c=0)
{
printf("%d", b * 10 + a);
}
}
else printf("%d", c * 100 + b * 10 + a);
return 0;
}
第4个回答  2018-11-10
#include<stdio.h>
int main()
{
int n, a, b, c;
scanf("%d", &n);
a = n/100;
b = (n/10)%10;
c = n%10;
if(a==0)
printf("%d %d", b, c);
else if(a==0&&b==0)
printf("%d", c);
else
printf("%d", c*100+b*10+a);
return 0;
}
相似回答