题目概述:
读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和
的每一位数字。
n 小于 10
100
思路:
开始:
对于数据的处理,想用数字直接取余去判断,最后发现
存不了那么大的数字。
解决:
用字符串去存储,累加求和(字符串转数字减去‘0’)
解决代码:
#include<stdio.h>
#include<string.h>
int main()
{
char c[100000];
int i,n,t=0,sum=0;
int a[10];
char pinyin[][10]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
gets(c);
for(i=0;i<strlen(c);i++)
sum+=c[i]-'0';
while(sum!=0)
{
a[t]=sum%10;
sum=sum/10;
t++;//表示总共输出几个字符
}
printf("%s",pinyin[a[t-1]]);
for(i=t-2;i>=0;i--)
{
printf(" %s",pinyin[a[i]]);
}
}
学到了什么:
之前不会用c语言存储字符串数组,今天学到了,用一个二维数组就可以解决。
char pinyin[][10]//第一个代表所存储字符串的个数,第
二个代表字符串的最大长度。
PTA乙级-1002 写出这个数
最新推荐文章于 2021-03-12 03:04:38 发布