smile1110 发表于 2017-2-9 10:31

简单的数学题(反向输出一个三位数)

本帖最后由 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;
}

神马勾 发表于 2017-4-12 19:32

#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;

}
无论是几位数都能反向输出,刚学的

雨凌天下 发表于 2018-9-24 09:52

#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;
}

L17 发表于 2017-2-9 10:41

楼主用的是codeblocks?

zhshdaan168 发表于 2017-2-9 10:50

学习了,

程佳琪 发表于 2017-2-9 10:53

有什么用啊

mrqingzhuang 发表于 2017-2-9 10:54

还可以看看也行

Takitooru 发表于 2017-2-9 10:55

对于数学渣的我来说,这简直授人以鱼福利

3622020 发表于 2017-2-9 11:19

感谢楼主的思路分享,!~

忆往惜 发表于 2017-2-9 11:38

图片上源码那个整型变量total是干嘛用的呢

_下雨天丶流泪天 发表于 2017-2-9 11:38

小白表示,看不懂

youxiaoyaooo 发表于 2017-2-9 11:52

没什么卵用啊感觉
页: [1] 2 3 4
查看完整版本: 简单的数学题(反向输出一个三位数)