zoukankan      html  css  js  c++  java
  • 写出这个数 (20)

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

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

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

    输入样例:

    1234567890987654321123456789
    

    输出样例:

    yi san wu


     1 #include <stdio.h>
     2 #include <string.h>
     3  
     4 void print_num(int num)
     5 {
     6         char num_str[4] = {0};
     7         sprintf(num_str,"%d", num);
     8         char * temp = num_str;
     9         while(*temp != '')
    10         {
    11                 switch(*temp)
    12                 {
    13                         case '0': 
    14                                 printf("ling");
    15                                 break;
    16                         case '1':
    17                                 printf("yi");
    18                                 break;
    19                         case '2':
    20                                 printf("er");
    21                                 break;
    22                         case '3':
    23                                 printf("san");
    24                                 break;
    25                         case '4':
    26                                 printf("si");
    27                                 break;
    28                         case '5':
    29                                 printf("wu");
    30                                 break;
    31                         case '6':
    32                                 printf("liu");
    33                                 break;
    34                         case '7':
    35                                 printf("qi");
    36                                 break;
    37                         case '8':
    38                                 printf("ba");
    39                                 break;
    40                         case '9':
    41                                 printf("jiu");
    42                                 break;
    43                         default:
    44                                 break;
    45                 }
    46                 temp++;
    47                 if (*temp != '')
    48                         printf(" ");
    49                 else
    50                         printf("
    ");
    51         }
    52 }
    53  
    54 int main(int argc, char *argv[])
    55 {
    56         char num[101] = {0};
    57         char *temp = num;
    58         int total = 0;
    59         scanf("%s",num);
    60         while(*temp != '')
    61         {
    62                 total += (*temp - '0');
    63                 temp++;
    64         }
    65         print_num(total);
    66         return 0;
    67 }
  • 相关阅读:
    华为内部面试题库(20)
    华为内部面试题库(18)
    华为内部面试题库(14)
    华为内部面试题库(12)
    华为内部面试题库(16)
    华为内部面试题库(17)
    华为内部面试题库(11)
    华为内部面试题库(13)
    Windows 危险的注册表键
    逆向工程师要学什么?
  • 原文地址:https://www.cnblogs.com/cqxhl/p/6183876.html
Copyright © 2011-2022 走看看