PAT B 1002 寫出這個數 20

2021-07-16 00:01:56 字數 1303 閱讀 5475

讀入乙個自然數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...