C語言訓練-整數位-1191
阿新 • • 發佈:2018-12-19
Problem Description 輸入一個不多於5位的正整數,要求: (1)求出它是幾位數; (2)分別輸出每一位數字; (3)按逆序輸出各位數字。 Input 輸入一個不多於5位的正整數。 Output 輸出資料有3行,第一行為正整數位數,第二行為各位數字,第三行為逆序的各位數字。 Sample Input 123 Sample Output 3 1 2 3 3 2 1
#include<stdio.h> int main() { int flag=0, n, i, a[10]; scanf("%d", &n); while (n) //分離整數 { a[flag++] = n % 10; //將每次取餘的值都存放在開始定義的數組裡並且flag的值+1 n=n/10; // 去掉數字的最後一位數 } printf("%d\n", flag); for(i=flag-1;i>=0;i--) //正序輸出 { if(i==0) //當輸入的值只有一個的時候 printf("%d\n",a[i]); else //當值不只有一個的時候 printf("%d ",a[i]); } for(i=0;i<flag;i++) //倒敘輸出 { if(i==flag-1) printf("%d",a[i]); else printf("%d ",a[i]); } return 0; }