首页 > 代码库 > 数的读写
数的读写
读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。
输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。
输入样例:1234567890987654321123456789输出样例:
yi san wu
#include<stdio.h>
int main(){
char c;
//c=getchar();
scanf("%c",&c);
int a,sum=0;
while(c>=‘0‘&&c<=‘9‘){//完成字符串整体的读入;
a=c-48;
sum+=a;
//c=getchar();
scanf("%c",&c);
}
int s[100];
int j,i=0;
do{
j=sum%10;
s[i]=j;
sum/=10;
i++;
}while(sum!=sum%10);//完成对和的每一位的分离
if(sum==0){//对上面循环的不足之处加以补充
i=i-1;
}else{
s[i]=sum;
}
for(i;i>=0;i--){
switch(s[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;
}
if(i>0) printf(" ");
}
printf("\n");
return 0;
}