写出这个数

来源:互联网 发布:单片机算法导论 编辑:程序博客网 时间:2024/05/19 16:47

读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于 10100
输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。
输入样例:
1234567890987654321123456789
输出样例:
yi san wu


代码

#include<stdio.h>#include<string.h>#include<math.h>int main(){    int i,sum2;    int j = 0;    int sum = 0;    int d = 0;    char a[101];    gets(a);    if((int)a == 48)    {        printf("ling");    }    for(i = 0; i<strlen(a); i++)    {        sum = sum + a[i] - '0';    }    sum2 = sum;    while(sum)    {        ++j;        sum/=10;    }    do    {        switch(sum2/(int)pow(10,j-1))        {        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:            printf("Error!");        }        d = pow(10,j-1);        if(d>=10)        {            printf(" ");        }        sum2 = sum2%d;        j--;    }    while(d>1); return 0;}
原创粉丝点击