zoukankan      html  css  js  c++  java
  • 乙级1002

    1002. 写出这个数 (20)

    时间限制
    400 ms
    内存限制
    65536 kB
    代码长度限制
    8000 B
    判题程序
    Standard
    作者
    CHEN, Yue

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

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

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

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

    首次出错代码:
    #include<cstdio>
    #include<cstring>
    char change[10][10]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
    int NumToSum(int n)
    {
        int sum=0;
        while(n!=0)
        {
            sum+=n%10;
            n/=10;
        }
        return sum;
    }
    int main()
    {
        long long n,sum,ans[100]={},k=0;
        scanf("%lld",&n);
        sum=NumToSum(n);
        while(sum!=0)
        {
            ans[k++]=sum%10;
            sum/=10;
        }
        if(sum==0)
        {
            printf("%s",change[0]);
        }
        for(int i=k;i>=0;i--)
        {
            printf("%s",change[ans[i]]);
            if(i>0) printf(" ");
        }
    
        return 0;
    }

    思路:用NumToSum函数讲输入数字各位求和,再将求和数字从各位开始依次存入整型数组ans[],输出时倒序输出同时变为对应拼音

         检查之后发现多加了判断和为0输出ling的语句 还是不对... 数字位数多了和统计就错了...

    错误原因:位数太多的时候会超过long long的范围,不能用,此类题目尽量用字符串解决

    换一种思路用字符来写

    #include<cstdio>
    #include<cstring>
    char change[10][10]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
    int main()
    {
        int sum=0,ans[110],k=0;
        char str[110];
        gets(str);
        int len=strlen(str);
        for(int i=0;i<len;i++)
        {
            sum+=str[i]-'0';
        }
        while(sum!=0)
        {
            ans[k++]=sum%10;
            sum/=10;
        }
        for(int i=k-1;i>=0;i--)
        {
            printf("%s",change[ans[i]]);
            if(i>0) printf(" ");
        }
    
    
        return 0;
    }

    通过

  • 相关阅读:
    WPF ViewModel 调用任意前台控件的方法
    xxxx
    modelsim一些error(warning)的原因
    [verilog] inout端口处理
    [c语言]指针数组和数组指针
    电机控制术语
    MAC和PHY关系
    IAR map文件说明
    [corterm3]汇编语法
    TI 2802x系列中断系统及应用
  • 原文地址:https://www.cnblogs.com/brucekun/p/6579513.html
Copyright © 2011-2022 走看看