讀入乙個自然數n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。
輸入格式:每個測試輸入包含1個測試用例,即給出自然數n的值。這裡保證n小於10100。
輸出格式:在一行內輸出n的各位數字之和的每一位,拼音數字間有1 空格,但一行中最後乙個拼音數字後沒有空格。
輸入樣例:
1234567890987654321123456789輸出樣例:
yi san wu
下面是我自己的思路以及**
#include#include#includeint main()
; char a[100];
scanf("%s",&a);//讀入字串
int num = 0;
int i = 0;
while (a[i] != '\0')
//將字串轉成數字
char b[10];
i = 0;
while (1)
b[i] = '\0';//將數字轉成字串……,此時字串是逆序的
char temp[10];//逆序
int j;
for (j = 0; j <= i; j++)
temp[j] = b[j];
for (j = 0; i > 0; )
b[j++] = temp[--i];
b[j] = '\0';
//逆序的另外一種方法
/*int j;
char temp;
for (j = 0; j < (i - 1) / 2; j++)
*/ //_itoa(num, b, 10);//或者使用庫函式
//int len = strlen(b); 輸出空格的另外一種方法
int count = 0;
while (b[count] != '\0')
}
當然,有更簡潔的解法
#include int main()
; while ((c = gtchar()) != '\n')
num += (c - 48);//計算字串各位相加得到的數
sprintf(a, "%d", num);//將數轉成字串
for (int count = 0; a[count] != 0; count++)
return 0;
}
PAT B1002 寫出這個數 20
題目要求 讀入乙個自然數n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。輸入格式 每個測試輸入包含1個測試用例,即給出自然數n的值。這裡保證n小於10100。輸出格式 在一行內輸出n的各位數字之和的每一位,拼音數字間有1 空格,但一行中最後乙個拼音數字後沒有空格。輸入樣例 1234567890...
PAT B1002 寫出這個數 20
讀入乙個自然數n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。輸入格式 每個測試輸入包含1個測試用例,即給出自然數n的值。這裡保證n小於10100。輸出格式 在一行內輸出n的各位數字之和的每一位,拼音數字間有1 空格,但一行中最後乙個拼音數字後沒有空格。輸入樣例 123456789098765...
PAT B 1002 寫出這個數 20
讀入乙個自然數n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。每個測試輸入包含1個測試用例,即給出自然數n的值。這裡保證n小於10100。在一行內輸出n的各位數字之和的每一位,拼音數字間有1 空格,但一行中最後乙個拼音數字後沒有空格。yi san wu 本題我用了乙個函式sprintf 這是c...