zoukankan      html  css  js  c++  java
  • PAT (Basic Level) Practise (中文)- 1002. 写出这个数 (20)

    http://www.patest.cn/contests/pat-b-practise/1002

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

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

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

    输入样例:

    1234567890987654321123456789
    

    输出样例:

    yi san wu
     1 #include<stdio.h> 
     2 #include<math.h> 
     3 int main()
     4 {
     5     char str[110];
     6     gets(str);
     7     
     8     int number=0;
     9     int iStr=0;
    10     while(str[iStr])
    11     {
    12         number+=str[iStr]-'0';
    13         iStr++;
    14     }
    15     
    16     if(!number) 
    17     {
    18         printf("ling");
    19         return 0;
    20     }
    21     
    22     iStr=number;
    23     int num=0;
    24     while(number)
    25     {
    26         num++;
    27         number/=10;
    28     }
    29     number=iStr;
    30     char pinyin[10][6]={{"4ling"},{"2yi"},{"2er"},{"3san"},{"2si"},{"2wu"},{"3liu"},{"2qi"},{"2ba"},{"3jiu"}};
    31     int k=0;
    32     iStr=0;
    33     while(num)
    34     {
    35         if(iStr)
    36             printf(" ");
    37         
    38         num--;
    39         k=number/((int)floor(pow(10,num)+0.5));
    40         number%=((int)floor(pow(10,num)+0.5));
    41         iStr=pinyin[k][0]-'0';
    42         for(int i=1;i<=iStr;i++)
    43         {
    44                 printf("%c",pinyin[k][i]);
    45         }
    46         iStr++;
    47     }
    48     return 0;                  
    49 }
  • 相关阅读:
    个人最终总结
    电梯调度的改进
    电梯调度程序
    读程序的修改
    对wordcount单词字母部分的修改
    wordcount
    读程序
    单元测试
    Microsoft Visual Studio 2013安装及试用
    附加题(二)——沈航软件工程期末附加作业
  • 原文地址:https://www.cnblogs.com/asinlzm/p/4463799.html
Copyright © 2011-2022 走看看