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;
    }

    通过

  • 相关阅读:
    SkyWalking链路追踪系统-告警篇
    在k8s中解决pod资源的正确识别
    SkyWalking链路追踪系统-接入篇
    Jenkins API+Pipeline深度实践之input的自动化
    SkyWalking链路追踪系统-部署篇
    DevOps建设之基于钉钉OA审批流的自动化上线
    使用kube-prometheus部署k8s监控(最新版)
    基于k8s手动部署rabbitmq集群
    ant desgin vue中table复选框根据状态disabled置灰
    ant design vue 中tree实现单选
  • 原文地址:https://www.cnblogs.com/brucekun/p/6579513.html
Copyright © 2011-2022 走看看