PAT B1002 写出这个数 字符串数组要用二维数组表示!

//ac,关于字符串数组要用二维数组表示! 
#include<stdio.h>
#include<string.h> 
//#define LOCAL
char str[110];
//这个字符串要写成二维数组才行! 
char map[10][5]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"}; 
int main(){
	#ifdef LOCAL
	freopen("B1002data.in","r",stdin);
	freopen("B1002data.out","w",stdout);
	#endif
	int sum=0;
	scanf("%s",str);//直接用这个好了,晕死了被gets()
	int len=strlen(str);
	for(int i=0;i<len;i++){
		sum+=str[i]-'0';//这样一个差就是应该的数值 
	}
	int a[4]={0};
	int num=0;
	while(sum!=0){
		a[num++]=sum%10;
		sum/=10;
	}
	for(int i=num-1;i>=0;i--){
		printf("%s",map[a[i]]);
		if(i!=0) printf(" ");
	}
	return 0; 
} 


你可能感兴趣的:(C++,算法,pat)