PAT乙级-写出这个数 (1002-20分)

题目:

读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。

输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10^100。

输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。

输入样例:

1234567890987654321123456789

输出样例:

yi san wu

C语言实现过程:

//1002. 写出这个数 (PAT乙级10002-20分)2017.8.23
#include
int main(void)
{
    int a, t, cnt,lun;//定义变量:a存放输入值,t存放输入值的个位值,cnt存放各位数字之和,lun调试变量->记录循环次数
    cnt = 0;          //初始化变量
    lun = 0;          //初始化变量
    scanf("%d", &a);  //读入输入值
    while (a >= 9)     //判断变量a是否大于9
    {
        t = a % 10;      //对变量a取余(读取个位值),并将余数值存放到变量t中
        cnt += t;         //将个位值存放到累加变量cnt中
        lun+=1;          //调试变量计数+1,本行可注释
        printf("第%d轮和=%d\n", lun, cnt);//输出当前回合的计数值和累加 值,本行可注释
        a /= 10;          //对变量a进行去位操作,去除个位值
    }
    lun += 1;            //计数值+1,本行可注释
    cnt += a;            //累加值进行最高位累加
    getchar();            //调试语句,程序暂停,本行可注释
    printf("%d", cnt);//输出最终值
    getchar();
    //将累计值转化为中文拼音代码块未构造,待更新
    return 0;
}

原题地址(可以在线提交代码获取评分)

你可能感兴趣的:(PAT乙级-写出这个数 (1002-20分))