渣渣演变之路
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; }