c/c++语言开发共享1002 写出这个数

读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 1。 输出格式: 在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。 输入样例: 输出 …

读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。

输入格式:

每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 1。

输出格式:

在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。

输入样例:

1234567890987654321123456789 

输出样例:

yi san wu
 1 #include<stdio.h>  2 #include<math.h>  3 #include<string.h>  4 #include<stdlib.h>  5 int main()  6 {  7   8     int i,sum=0,sumnum;  9     int num[100]; 10     char length[100]; 11     scanf("%s",length); 12     sumnum=strlen(length); 13     for(i=0;i<sumnum;i++) 14     { 15     num[i]=length[i]-'0'; 16     sum=sum+num[i]; 17     } 18     //此时sum为每一位数字的和 19      20     int num1[100];//定义一个数组储存sum每一位sum的数 21     i=0;//数组中i从0开始存个位  22     while(sum>0) 23     { 24         num1[i]=sum%10; 25         sum=sum/10; 26         i++;//i增加一位,数组存前一位  27      } //i也表示sum的位数  28     //此时要将数组中数字转化为拼音输出  29      30         for(i=i-1;i>=1;i--)//从num[i-1]开始输出头一位,到十位上的数 31         { 32           if(num1[i]==0) 33         printf("ling "); 34          else if(num1[i]==1) 35             printf("yi "); 36          else if(num1[i]==2) 37             printf("er "); 38          else if(num1[i]==3) 39             printf("san "); 40          else if(num1[i]==4) 41             printf("si "); 42          else if(num1[i]==5) 43             printf("wu "); 44          else if(num1[i]==6) 45             printf("liu "); 46          else if(num1[i]==7) 47             printf("qi "); 48          else if(num1[i]==8) 49             printf("ba "); 50          else  51             printf("jiu "); 52         }  53            if(num1[0]==0)//个位上的数单独输出 54         printf("ling"); 55           else if(num1[0]==1)  56             printf("yi"); 57           else if(num1[0]==2) 58             printf("er"); 59           else if(num1[0]==3) 60             printf("san"); 61           else if(num1[0]==4) 62             printf("si"); 63           else if(num1[0]==5) 64             printf("wu"); 65           else if(num1[0]==6) 66             printf("liu"); 67           else if(num1[0]==7) 68             printf("qi"); 69           else if(num1[0]==8) 70            printf("ba"); 71           else  72            printf("jiu"); 73     return 0; 74 }

 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/605728.html

(0)
上一篇 2021年5月13日
下一篇 2021年5月13日

精彩推荐