pat1002
两种方法,一种是常规的,另一种还可以用栈来解决,能力实在有限。也是刚接触,脑子转不过来,-'0'就是转换为数字,然后就是%10/10什么的,然后记录个数逆序输出就行。注意最后没有空格,用i判断是否达到最后一位。
1 #include <stdio.h> 2 #include <string.h> 3 4 int main() 5 { 6 char str[10000]; 7 char arr[10][10]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"}; 8 gets(str); 9 int len=strlen(str); 10 int num[100]={0}; 11 for(int i=0;i<len;i++) 12 { 13 num[i]=str[i]-'0'; 14 } 15 int sum=0; 16 for(int i=0;i<len;i++) 17 { 18 sum+=num[i]; 19 } 20 int temp[100]; 21 int t=0; 22 while(sum) 23 { 24 temp[t]=sum%10; 25 t++; 26 sum/=10; 27 } 28 for(int i=t-1;i>=0;i--) 29 { 30 if(i!=0) 31 printf("%s ",arr[temp[i]]); 32 else 33 printf("%s",arr[temp[i]]); 34 } 35 return 0; 36 }
浙公网安备 33010602011771号