关于PAT乙级1002一直提示“格式错误”

千里东风一梦遥 2017-08-16 11:39:01
本人自学编程,做PAT 乙级1002,题目如下,代码提交后一直报“格式错误”,但运行出来的结果正确,各位能帮忙看一下吗?感恩!
读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。

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

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

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

代码如下:
#include<stdio.h>
#include <string.h>
main()
{
int i,count,b[10];
char num[100]={0};
char *temp=num;
int total=0;
scanf("%s",num);
while(*temp!='\0'){
total+=(*temp-'0');
temp++;
}
for (i=0,count=0;total>0;total=total/10) {
b[i]=total%10;
i++;
count++;
}
while (--count>=0){
switch (b[count]){
case 1:printf("yi");break;
case 2:printf("er");break;
case 3:printf("san");break;
case 4:printf("si");break;
case 5:printf("wu");break;
case 6:printf("liu");break;
case 7:printf("qi");break;
case 8:printf("ba");break;
case 9:printf("jiu");break;
case 0:printf("ling");break;
default:break;
}
if(count>=0)
printf(" ");
else
printf("\n");
}

}
...全文
298 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2017-08-18
  • 打赏
  • 举报
回复
“多一少一”问题占程序员常犯错误的10%以上! 避免“多一少一”问题的方法之一是将比如<10甚至<5的数代入程序片断,掰手指头心算验证一下程序到底应该写为 x、x-1、x+1中的哪个? <、<=、==、>、>=中的哪个?
自信男孩 2017-08-18
  • 打赏
  • 举报
回复
但一行中最后一个拼音数字后没有空格 题目中要求最后一个拼音没有空格,但是,你的最后一个还是有空格的吧
if(count>0)    /*这句去掉等于0的情况*/
            printf(" ");
        else
            printf("\n");
赵4老师 2017-08-18
  • 打赏
  • 举报
回复
char num[100]={0}; 100显然不够大
赵4老师 2017-08-17
  • 打赏
  • 举报
回复
边界条件 输入输出格式 ……
  • 打赏
  • 举报
回复
您好,能再具体一些么?针对具体点点播一下是否可以?感谢您!

64,651

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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