设为首页 加入收藏

TOP

1002 写出这个数
2018-12-29 14:08:56 】 浏览:77
Tags:1002 写出 个数

读入一个正整数 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,a,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为所有a的和
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 }

 

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇1003 我要通过! 下一篇1001 害死人不偿命的(3n+1)猜想

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目