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

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

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

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

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

    #include<stdio.h>
    
    #define NUM 100
    
    //返回输出的数之和
    int Sum_of_num(const char *s)
    { 
        int sum = 0;
        while(*s != '')
        {
            sum += *s-'0';
            s++;    
        } 
        return sum;
    }
    //返回输出数的位数
    int Cnt_of_num(int sum)
    {
        int i = 10;
        int cnt = 1;
        while(sum/i != 0)
        {
            sum /= i;
            cnt++;
        }
        return cnt; 
    }
    //输出拼音
    void Put_out_chi(int sum,int cnt,char s[][5],int *temp)
    {
        int i = cnt;
        int j = sum; //存入sum值之后输出个位
        while(cnt > 0)
        {            //存入temp数组 
            *temp = sum%10;
            sum /= 10;
            temp++;
            cnt--;  
        }
        temp--; 
        cnt++;
        while(cnt != i)
        {               //依次输出到十位
            printf("%s ",s[*temp]);
            temp--;
            cnt++;
        }       
        printf("%s",s[j%10]);
    }
    
    int main()
    {
        char number[NUM];
        char chinese[][5] = {"ling","yi","er","san","si","wu","liu",
                            "qi","ba","jiu"};
        int temp[10];
        scanf("%s",number);
        int sum,cnt;
    
        sum = Sum_of_num(number);
        cnt = Cnt_of_num(sum);
        Put_out_chi(sum,cnt,chinese,temp);
    
        return 0;
     } 
    

    核心函数:

    void Put_out_chi(int sum,int cnt,char s[][5],int *temp)

    由于用计算机来从最大位开始输出一个“不知道位数”比较难(我不知道怎么做~~),因此选择创建一个temp数组来依次存放从个位开始到最大位的值,之后再通过指针往前移动来输出拼音。由于格式的限制,则留下最后的个位单独输出。

  • 相关阅读:
    Flask基础
    Scrapy框架(持久化,去重,深度控制,cookie)
    scrapy框架 简易整理
    BeautifulSoup 模块
    requests模块
    复习第三天
    在Django中使用原生Sql
    ajax跨域简单请求和复杂请求
    复习第二天
    IOS
  • 原文地址:https://www.cnblogs.com/yinqs/p/12589004.html
Copyright © 2011-2022 走看看