#include <stdio.h> #include <string.h> int main() { int i, len; char num[100]; printf("請輸入一個整數:"); scanf("%s", num); len = strlen(num); for (i = 0; i <= len - 1; i++) { printf("%c\n", num[i]); } if (num[0] != 45)//45表示“-”的ASCII值 { printf("位數為:%d\n", len); } else { len=len - 1; printf("位數為:%d\n", len); } return 0; }
結果1: 請輸入一個整數:72356 7 2 3 5 6 位數為:5 請按任意鍵繼續. . . 結果2: 請輸入一個整數:-2378 - 2 3 7 8 位數為:4 請按任意鍵繼續. . . 方法二: 程序:
#include<stdio.h> int main() { int num = 0; printf("請輸入一個非負整數:"); scanf("%d", &num); while (num) { printf("%d\t",num%10); num /= 10; } return 0; }
結果: 請輸入一個非負整數:987 7 8 9 請按任意鍵繼續. . . 方法三: 程序:
#include <stdio.h> int print(int num)//遞歸實現 { if (num > 9) { print(num/10); } printf("%d\t", num % 10); } int main() { int num = 0; printf("請輸入一個整數:"); scanf("%d", &num); print(num); return 0; }
結果: 請輸入一個整數:87654 8 7 6 5 4 請按任意鍵繼續. . .