简单的数学题(反向输出一个三位数)
本帖最后由 smile1110 于 2017-2-9 10:34 编辑题目:
本题要求输入三位数n且输出三位数n时,计算百位数 n/100整除结果是正确的。许多书的范例会在输出八位数时画蛇添足再进行一次取余这又是怎么一个情况呢?
原因其实很简单,强行输入大于三位数的任意位数,比如1234,就会把千百位数同时放入n/100当中取整,结果商会是两位数,也就出现错误。如下图输入1234 输出的是4312
许多题目没有规范输入三位数,为了避免上述问题产生,就需要在百位数取整(商)过程中写为,n/10/10%10,也就是n/100%10这种形式。输出n的倒数三位,其他的位数全面舍弃,自然会绕开编书者挖的一个坑。
#include <stdio.h>
int main()
{
int n;
scanf("%d",&n);
printf("%d",n%10);
printf("%d",n/10%10);
printf("%d",n/100%10);
return 0;
}
#include <stdio.h>
int main()
{
int sum = 0;
int val;
int m;
printf ("请输入一个数:");
scanf ("%d",&val);
m = val;
while(m)
{
sum = sum*10 + m%10;
m = m/10;
}
printf("%d", sum);
return 0;
}
无论是几位数都能反向输出,刚学的 #include<iostream>
using namespace std;
int main()
{
int x, y, m, n;
//cout << " input aint :";
cin >> n;
cout << n << endl;
m = n / 100;
y = (n / 10) % 10;
x = n % 10;
cout << x << y << m << endl;
system("pause");
return 0;
}
楼主用的是codeblocks? 学习了, 有什么用啊 还可以看看也行 对于数学渣的我来说,这简直授人以鱼福利 感谢楼主的思路分享,!~ 图片上源码那个整型变量total是干嘛用的呢 小白表示,看不懂 没什么卵用啊感觉