• 07-0. 写出这个数 (20)


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

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

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

    输入样例:

    1234567890987654321123456789
    

    输出样例:

    yi san wu
    
     1 #include <stdio.h>
     2 #include <string.h>
     3 #define N 1000
     4 
     5 void read(int sum);                //读出函数声明 
     6 
     7 int main()
     8 {
     9     char str[N];                   //要输入一个小于1000位的数字,显然不能用int,在这里定义一个str字符数组接收输入的数字 
    10     gets(str);                     //使用gets输入这个全是数字的字符串 
    11     int len;                       //len表示str字符串的长度(也就是数字的个数) 
    12     len = strlen(str);             //使用strlen函数可以直接测出len的大小 
    13     int i, sum = 0;                //sum为各位数字的和 
    14     for(i = 0;i < len;i++) {       //从第一个数字开始遍历到最后一个数字 
    15         sum += str[i] - '0';       //因为str为字符数组,所以str【i】-‘0’就等于str【i】数字的大小 
    16     }
    17     
    18     read(sum);                   //读出函数
    19     
    20     return 0;
    21 } 
    22 
    23 void read(int sum)                   //读出函数 
    24 {
    25     int i;
    26      //因为下面要算sum的每位数的大小,mask为10的(sum的位数(几位数)次方减一 )
    27      //如:sum为三位数,mask为10,sum/mask就等于sum的首位 ,现初始为一 
    28     int mask = 1;                   
    29     int t = sum;
    30     while(t > 9) {           //t循环了sum的位数减一遍 
    31         t /= 10;
    32         mask *= 10;
    33     } 
    34     
    35     //定义一个指针数组,数组中的每一个元素都是指针 
    36     char *c[10] = {"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
    37     //循环sum的位数次,并输出每位 
    38     do {
    39         i = sum / mask;
    40         printf("%s",c[i]);
    41         if(mask > 9) {
    42             printf(" ");
    43         }
    44         sum %= mask;
    45         mask /= 10;
    46     } while(mask > 0);
    47 }
  • 相关阅读:
    Unity Behaviors for Interception
    Unity Method Dependency Injection
    Unity的AdditionalInterfaces问题
    Unity的三种Interceptor
    C#实现office文档转换为PDF或xps的一些方法
    多级菜单CSS+DIV
    应用软件系统架构设计的“七种武器”(转)
    AjaxModalPopupExtender
    越来越苦,献给狗日的小温
    NHibernate教程
  • 原文地址:https://www.cnblogs.com/aexin/p/3877646.html
Copyright © 2020-2023  润新知