PAT乙级1002 部分正确是怎么回事

y思无邪 2017-11-29 09:33:56
代码如下:
#include<iostream>
using namespace std;
int main() {
int n;
int sum = 0;
while ((n = getchar())!='\n')
sum += (n-'0') ;

int a[3]; int i = 0;

while (sum >= 10) {
a[i] = sum % 10;
i++;
sum /= 10;
}
if (sum < 10) a[i] = sum;

for (int j = i; j >= 0; j--) {
switch (a[j]) {
case 1:cout << "yi"; if (j != 0)cout << ' '; break;
case 2:cout << "er"; if (j != 0)cout << ' '; break;
case 3:cout << "san"; if (j != 0)cout << ' '; break;
case 4:cout << "si"; if (j != 0)cout << ' '; break;
case 5:cout << "wu"; if (j != 0)cout << ' '; break;
case 6:cout << "liu"; if (j != 0)cout << ' '; break;
case 7:cout << "qi"; if (j != 0)cout << ' '; break;
case 8:cout << "ba"; if (j != 0)cout << ' '; break;
case 9:cout << "jiu"; if (j != 0)cout << ' '; break;
}

}
return 0;
}

错误如下:

测试点 结果 用时(ms) 内存(kB) 得分/满分
0 答案正确 4 384 12/12
1 答案错误 8 384 0/1
2 答案正确 9 384 1/1
3 答案正确 5 380 2/2
4 答案正确 11 376 2/2
5 答案正确 9 372 2/2
...全文
496 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
707wk 2017-12-02
  • 打赏
  • 举报
回复
#include<iostream>
using namespace std;

int main()
{
    char c;
    char putStr[][10] =
    {
        {"lin"},
        {"yi"},
        {"er"},
        {"san"},
        {"si"},
        {"wu"},
        {"liu"},
        {"qi"},
        {"ba"},
        {"jiu"}
    };
    for(; (c = getchar()) != '\n';)
    {
        cout << putStr[c - '0'] << " ";
    }
    return 0;
}
这样行不
Clampard 2017-11-30
  • 打赏
  • 举报
回复
来混分
赵4老师 2017-11-30
  • 打赏
  • 举报
回复
边界条件 输入输出格式 ……
大米粥哥哥 2017-11-30
  • 打赏
  • 举报
回复
仔细看看题的要求 找不同

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧