C语言 逆序的三位数


题目内容:

逆序的三位数:

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

 注意:除了题目要求的输出,不能输出任何其他内容,比如输入时的提示,输出时的说明等等都不能。这道题目要求输出逆序的数字,程序就只能输出这个数字,除此之外任何内容都不能输出。 

输入格式:

每个测试是一个3位的正整数。

 输出格式:

输出逆序的数。

 输入样例:

123

 输出样例:

321

主要思路:想办法提取出三位数的每一位数字 再将数字进行排列

百位则直接用输入的三位数除以100,个位则直接与10取余,十位则用输入的三位数减去100b(b为百位数)再除以10

 

#include <stdio.h>


int main()
{
int a,b,c,d;//b为百位 c为十位 d为个位
scanf("%d",&a);
b=a/100;
d=a%10;
c=(a-100*b)/10;
printf("%d%d%d",d,c,b);
return 0;
}

但像这样的话700则会变成007

于是我就想能不能像计算三位数一样把提取到的每个数字进行加法运算

#include <stdio.h>
int main()
{
    int a,b,c,d;//b为百位 c为十位 d为个位
    scanf("%d",&a);
    b=a/100;
    d=a%10;
    c=(a-100*b)/10;
    printf("%d",100*d+10*c+b);
    return 0;
}

这样就完成了。

ps:此为本人的第一篇博客 若有更好的办法或不正确的地方欢迎指教!


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM