渣渣演变之路
1. 写出这个数
读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。
输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。
输入样例:1234567890987654321123456789输出样例:
yi san wu
代码:
#include<stdio.h>
void print_num(int num) //定义输出函数,输入对应的数字
{
char num_str[4]={0}; //定义一个字符数组,将和数字转化为字符串存储
char *team = num_str; //定义指针team指向数组的首地址
sprintf(num_str,"%d",num); //调用sprintf函数,sprintf函数的作用为,将整型数字转化为字符串存储在字符数组中
while(*team != '\0') //循环至数组末尾
{
switch(*team) //运用switch函数进行选择式输出,注意其格式
{
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");
break;
default:
break;
}
team++; //指针向后移动
if(*team!='\0')
printf(" ");
else
printf("\n");
}
}
int main()
{
char num[101]; //规避数太大而超出范围,将其运用字符串的形式,定义一个字符数组
char *team = num;
scanf("%s",num); //输入字符串,存储在数组中
int total=0;
while(*team != '\0')
{
total += (*team - '0');
team++;
}
print_num(total); //调用输出函数
return 0;
}

浙公网安备 33010602011771号