#include<stdio.h>
#include <string.h>
//用字符串才能储存10的100次方
int main(){
char n[102];
int sum=0,i,len,b,j;//len确保求sum时不会加到字符串没有字符的空位置导致出错
scanf("%s",n);
len=strlen(n);
for(i=0;i<=len-1;i++){
sum+=(n[i]-'0');
}
char *a[10]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu",
};
for(i=1,b=1;b*10<=sum;b*=10,i++){
}//用于确认sum有几位数
for(j=0;j<i;sum=sum-(sum/b)*b,b/=10,j++){
printf("%s",a[sum/b]);
if(b>1){
printf(" ");
}
}
return 0;
}
c语言,新手上路
几个注意点:
1用char来存放不需要进行计算的大数
2用strlen来确认字符串长度,防止求sum时超出字符串的范围