PAT甲级C语言.1002. 写出这个数

#include
int main()
{
	void pinyin(int);
	char a[1000],num_str[10]={0},*temp;
	int i,j,sum=0;
	printf("get number:");
	gets(a);
	for(i=0;a[i]!='\0';++i)
	{
		sum+=a[i]-'0';
	}
	printf("sum = %d\n",sum);
	sprintf(num_str,"%d",sum);/*sprintf()最常见的应用之一莫过于把整数打印到字符串中,如:
                                sprintf(s, "%d", 123);  //把整数123打印成一个字符串保存在s中
                                sprintf(s, "%8x", 4567);  //小写16进制,宽度占8个位置,右对齐*/
	temp=num_str;
	while(*temp!='\0')
	{
		pinyin(*temp);
		temp++;
		if(*temp!='\0')printf(" ");
		else printf("\n");
	}
	return 0;
}
void pinyin(int i)
{
	switch(i)
	{
		case '0':printf("ling");break;
			case '1':printf("yi");break;
				case '2':printf("er");break;
					case '3':printf("san");break;
						case '4':printf("si");break;
							case '5':printf("wu");break;
								case '6':printf("liu");break;
									case '7':printf("qi");break;
										case '8':printf("ba");break;
											case '9':printf("jiu");
	}
}

你可能感兴趣的:(PAT甲级C语言.1002. 写出这个数)