//三位数的反向输出
#include<stdio.h>
int main(){
int n;
scanf("%d",&n);
printf("%d%d%d",n%10,n,n/100); //数据处理个十百位 例如234,新输出的百位应为4,234%10后的结果;十位应为3,234/10为23,再%10为3;个位应为2,直 接/100;%模运算。
return 0;
}
自己想的另一种传统的思路,调试改了多遍,成功的那一刻激动ing
#include<stdio.h>
int main(){
int n,a,b,c;
n=a*100+b*10+c; //直接定义一个百位数,分别由百位十位个位组成
scanf("%d%d%d",&a,&b,&c); //按照次数依次输入a,b,c的值
if(c==0) //第一遍竟然把c==0写成c=0;一直出错,无法原谅!!!
printf("%d%d",b,c);
printf("%d%d%d",c,b,a); //输出cba刚好为反转后的三位数
return 0;
}
考虑到输入的三位数个位可能为0的情况,如240转化为42而非042
所以应加一个条件判断语句(如上程序)。或者另定义一个变量m如下:
int main(){
int m,n,a,b,c;
n=a*100+b*10+c; //先赋值要输入的n,输入后再进行运算
scanf("%d%d%d",a,b,c);
m=c*100+b*10*a; //先输入值后再进行运算m的值,错误地方:先把两个运算放在前面,运行不出来,幸得大佬指点迷津
printf("%d",m);
return 0;
}
原文:https://www.cnblogs.com/laurarararararara/p/10657391.html