1.題目描述
讀入一個自然數n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。
2.輸入描述:
每個測試輸入包含1個測試用例,即給出自然數n的值。這裡保證n小于10100。
3.輸出描述:
在一行内輸出n的各位數字之和的每一位,拼音數字間有1 空格,但一行中最後一個拼音數字後沒有空格。
4.輸入例子:
5.輸出例子:
yi san wu
6.解題思路:
最簡單是思路就是
第一步:将字元串各數字轉換為整數并求和
第二步:将各數之和的每一位單獨存在整數數組中(0需要單獨處理)
第三步:根據數組每個值輸出相對應的拼音(注意空格的輸出)
7.源代碼:
#include<stdio.h>
#include<string.h>
int main()
{
int i,k=0,sum=0;
char n[101];
scanf("%s",n);
int len=strlen(n);
for(i=0;i<len;i++)
sum+=n[i]-'0';
int num[5];
if(sum==0)
num[k++]=0;
else
{
while(sum)
{
num[k++]=sum%10;
sum=sum/10;
}
}
for(i=k-1;i>=0;i--)
{
switch(num[i])
{
case 0:printf("ling");break;
case 1:printf("yi");break;
case 2:printf("er");break;
case 3:printf("san");break;
case 4:printf("si");break;
case 5:printf("wu");break;
case 6:printf("liu");break;
case 7:printf("qi");break;
case 8:printf("ba");break;
case 9:printf("jiu");break;
default:break;
}
if(i)
printf(" ");
}
printf("\n");
return 0;
}