題目內容:
逆序的三位數:
程序每次讀入一個正三位數,然后輸出逆序的數字。注意,當輸入的數字含有結尾的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:此為本人的第一篇博客 若有更好的辦法或不正確的地方歡迎指教!