Z_Kigh 2022-01-25 23:24 采纳率: 66.7%
浏览 30
已结题

为啥有一个样本无法通过?

我的代码:

#include<iostream>
using namespace std;

int main()
{
    string str[10]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
    int sum=0,i=1;
    char c;

    while(i)
    {
        c=getchar();
        if(c<48||c>57)
        {
            if(i==1)
            {
                if(c==' ')
                    continue;
                else
                    return 0;
            }
            else
                break;
        }
        i++;
        sum+=c-48;
    }

    i=1;
    while(sum/i/10)
        i*=10;

    do
    {
        cout<<str[sum/i];
        if(i>1)
            cout<<' ';
        else
            cout<<endl;
        sum-=sum/i*i;
        i/=10;
    }while(sum);

    return 0;
}

题目:

img


PTA《PAT (Basic Level) Practice (中文)》1002《写出这个数》测试点2(1分)

  • 写回答

1条回答 默认 最新

  • Dana_ranmo 2022-01-26 13:43
    关注

    当sum的值刚好等于i的值,比如1234->sum=10,i=10,运行到40行的时候sum-=sum/i*i之后得到0,在while(sum)判断的时候退出,将42改成while(i>0)就可以了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 2月7日
  • 已采纳回答 1月30日
  • 修改了问题 1月26日
  • 修改了问题 1月25日
  • 展开全部

悬赏问题

  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥15 树莓派5怎么用camera module 3啊
  • ¥20 java在应用程序里获取不到扬声器设备
  • ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。
  • ¥15 Attention is all you need 的代码运行