这里的n很大10{100},数字十分大不能使用int、double等类型存储,需要使用字符串存储。
统计数字每位数上数字的和,再对于位数数字和转化为文字拼音。
#include <stdio.h>
#include<string.h>
int main(){
char a[1002];
int b, c,d,e,g,m[5],n;
gets(a);
b = 0;
c = 0;
d = 0;
while (a[b] != '\0') {
c = c + a[b] - 48;
b = b + 1;
}
for (b = c, n = 0; b; b /= 10, n++) {
m[n] = b % 10;
d++;
}
for (c = d; c >= 1; c--){
b = m[c - 1];
if (b == 0)
printf("ling");
else if (b == 1)
printf("yi");
else if (b == 2)
printf("er");
else if (b == 3)
printf("san");
else if (b == 4)
printf("si");
else if (b == 5)
printf("wu");
else if (b == 6)
printf("liu");
else if (b == 7)
printf("qi");
else if (b == 8)
printf("ba");
else if (b == 9)
printf("jiu");
if (c != 1)
printf(" ");
}
return 0;
}
版权声明:本文为qq_43448856原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。