zoukankan      html  css  js  c++  java
  • PAT_1002 写出这个数

    宝宝不开心了。自从回家开始百练就上不去POJ也上不去,今天突然HDU也上不去了,PAT25分的题目都快更新完了。我就按顺序往下面更新了。回学校之后题目质量能高出不少= =。

    问题描述:

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

    输入格式:

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

    输出格式:

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

    输入样例:

    1234567890987654321123456789
    

    输出样例:

    yi san wu

    代码如下:

    #include <cstdio>
    #include <cstring>
    int main()
    {
        char a[10005];
        char num[10][5]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
        gets(a);
        int ans=0;
        for(int i=0;i<strlen(a);i++){
            ans+=a[i]-'0';
        }
        char out[10005];
        int j=0;
        while(ans){
            out[j++]=ans%10;
            ans/=10;
        }
        for(int i=j-1;i>=0;i--){
            printf("%s",num[out[i]]);
            if(i!=0){
                printf(" ");
            }else{
                printf("
    ");
            }
        }
    
        return 0;
    }

    思路解析:

                  本题还算挺简单的。但是最后一个循环如果写成int i=strlen(out)-1;i>=0;i++ 的话第二个测试点就不过,答案就算部分通过。= =想了半天也没想明白。但是机智的我改成int i=j-1;i>=0;i++ 结果抱着试试看的心理= =结果居然AC了。还是有待研究滴。

  • 相关阅读:
    密码安全等级效果
    随机生成不区分大小写的验证码
    css3的box方法实现文本水平垂直居中
    echarts省市地图显示
    mysql 连接数据库
    mysql 高版本order by 报错解决方案
    mysql 命令行操作
    mac本地运行php文件
    js 获取url参数
    js 每三位数添加逗号
  • 原文地址:https://www.cnblogs.com/xzt6/p/5785283.html
Copyright © 2011-2022 走看看