C 練習實例29
題目:給一個不多於5位的正整數,要求:一、求它是幾位數,二、逆序列印出各位數字。
程式分析:學會分解出每一位數,如下解釋。
實例
// Created by www.xuhuhu.com on 15/11/9.
//
//
#include <stdio.h>
int main( )
{
long a,b,c,d,e,x;
printf("請輸入 5 位數字:");
scanf("%ld",&x);
a=x/10000; /*分解出萬位*/
b=x%10000/1000; /*分解出千位*/
c=x%1000/100; /*分解出百位*/
d=x%100/10; /*分解出十位*/
e=x%10; /*分解出個位*/
if (a!=0){
printf("為 5 位數,逆序為: %ld %ld %ld %ld %ld\n",e,d,c,b,a);
} else if(b!=0) {
printf("為 4 位數,逆序為: %ld %ld %ld %ld\n",e,d,c,b);
} else if(c!=0) {
printf("為 3 位數,逆序為:%ld %ld %ld\n",e,d,c);
} else if(d!=0) {
printf("為 2 位數,逆序為: %ld %ld\n",e,d);
} else if(e!=0) {
printf("為 1 位數,逆序為:%ld\n",e);
}
}
以上實例輸出結果為:
請輸入 5 位數字:12345 為 5 位數,逆序為: 5 4 3 2 1