• PAT乙级.1002.写出这个数


    1002. 写出这个数 (20)

     

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

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

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

    输入样例:
    1234567890987654321123456789
    
    输出样例:
    yi san wu

    #include <stdio.h>
    #include<string.h>
    char str[1000];
    int stack[1000];             //定义一个栈,用来存放取余后的数
    char pingyin[][10] = { "ling","yi","er","san","si","wu","liu","qi","ba","jiu" };
    int strgoDigit(char str[])   //求和
    {
        int sum, i;
        sum = 0;
        for (i = 0; i < strlen(str); i++)
        {
    
            sum = sum + (str[i] - '0');
        }
        return sum;
    }
    int main()
    {
        int sum, top, i;
        top = 0;
    
        scanf_s("%s", str, 1000);
        sum = strgoDigit(str);
        while (sum >= 10)
        {
            stack[top++] = sum % 10;       //取余后入栈
            sum = sum / 10;                
        }
        stack[top++] = sum;               //将最后剩下的最大位数字入栈,若改为while(sum>=0)则可将此式删掉。
        printf("%s", pingyin[stack[top - 1]]);
        for (i = top - 2; i >=0; i--)
            printf(" %s", pingyin[stack[i]]);
        getchar();
        return 0;
    }
  • 相关阅读:
    python中zip函数
    python中创建列表、元组、字符串、字典
    python中enumerate函数
    python中字符串的拼接
    python中格式化浮点数及科学计数法
    python中tuple函数
    python中可迭代对象的排序
    python中变量类型转换
    python中可迭代对象反转
    python中list函数
  • 原文地址:https://www.cnblogs.com/jhdcjh/p/6638759.html
Copyright © 2020-2023  润新知