PTA乙级-1002 写出这个数

题目概述:
读入一个正整数 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]//第一个代表所存储字符串的个数,第
	二个代表字符串的最大长度。

猜你喜欢

转载自blog.csdn.net/weixin_45663946/article/details/109117508