用中文写出数字
用中文写出数字
给一串数字串,请将其每一位数字相加,得到一个和,然后用中文的拼音将这个和的每一位“读”出来。
eg1: 输入123456789098765432
输出 ba jiu (因为以上数字每一位之和为89)
eg2:输入 1234567890987654321123456789
输出 yi san wu
#include
#include
#include
#include
#define N 50
void transform(int k);
void main()
{char numstr[N];//len计算输入数字个数,sum计算所有数字相加,count计算相加结果的位数,temp用于计算位数的临时变量int i,len,sum=0, temp, count=1,k;gets(numstr);len = strlen(numstr);//所有数字相加for (i = 0; i < len; i++)sum = sum + numstr[i]-'0';temp = sum;//计算结果位数do{temp /= 10;count++;} while (temp / 10 != 0);//提取每一位数字for (i = count; i>0; i--){k =sum / pow((float)10, i - 1);k = k % 10;transform(k);}printf("\n");system("pause");
}
void transform(int k)
{switch (k){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;}
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
