[求助]运行没问题,但上交就是错的。求大神解释。。。。。。

殇星飞痕 2013-11-24 12:32:22
Description
给出一个正整数(positive integer)(不超过10位),从高位开始逐位分割并输出。

Input
测试数据有多行,每行是一个正整数 n ,不含前导零。

Output
对每个测试输出一行结果:分割后的整数序列,各位数之间用一个空格隔开。
温馨提示:最后一个数字后面没有空格哦,否则PE哦。

Sample Input
654321
1

Sample Output
6 5 4 3 2 1
1

#include <stdio.h>
int main (void)
{
int n;
int t;
int a[10];
int i;
while(scanf("%d",&n)!=EOF)
{
t = n/10;
i = 0;
while (t > 0) {
a[i] = n%10;
i++;
//printf("%2d",n%10);
n = n/10;
t = n/10;
}
a[i] = n;
for (;i >= 0;i--)
{
printf("%d ",a[i]);
}
getchar();
printf("\n");
}

return 0;
}
...全文
251 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
殇星飞痕 2013-11-25
  • 打赏
  • 举报
回复
#include<stdio.h> int main() { unsigned a[10],n,i; while(~scanf("%u",&n)) { if(!n) { printf("0\n"); continue; } i=0; while(n) { a[i++] = n%10; n/=10; } for(i -=1;i>=0;--i) printf("%d%s",a[i],i ? " " : "\n"); } return 0; } 还差一点,显示Output Limit Exceeded
Sky丶Memory 2013-11-25
  • 打赏
  • 举报
回复
#include<stdio.h> 
int main() 
{     
	int a[10],n,i;    
	while(~scanf("%d",&n))     
	{         
		if(!n)
		{
			printf("0\n");
			continue;
		}
		i=0;         
		while(n)         
		{             
			a[i++] = n%10;             
			n /=10;         
		}         
		for(i -=1;i>=0;--i)             
			printf("%d%s",a[i],i ? " " : "\n");     
	}     
	return 0; 
}
边走边瞧 2013-11-25
  • 打赏
  • 举报
回复
什么是上交,什么是PE?俺out了。
Sky丶Memory 2013-11-25
  • 打赏
  • 举报
回复
把地址发我看下。。。
一起来玩玩呗 2013-11-24
  • 打赏
  • 举报
回复
#include <stdio.h>
int main (void) 
{
	
	
int n;
int t;
int a[10];
int i;
while(scanf("%d",&n)!=EOF)
{
	t = n/10;
	i = 0;
	while (t > 0) {
		a[i] = n%10;
		i++;
		//printf("%2d",n%10);
		n = n/10; 
		t = n/10;
	}
	a[i] = n;
	for (;i >= 0;i--)
	{
		if(i!=0)
			printf("%d ",a[i]);
		else{
			printf("%d",a[i]);
		}
	}
	getchar();
	printf("\n");
	}
	system("pause");
	return 0;
}
发现你输出的最后一个数字后面有空格,这里不合题意,所以只是改了下你的输出,加了个if 判断
殇星飞痕 2013-11-24
  • 打赏
  • 举报
回复
我上交了,还是错。。。。。。
worldy 2013-11-24
  • 打赏
  • 举报
回复
按F10,F11单步调试,发现问题所在并不难
殇星飞痕 2013-11-24
  • 打赏
  • 举报
回复
printf("%d%s",a[i],i ? " " : "\n");这句话怎样理解?能详细点,可以吗?
michael2988 2013-11-24
  • 打赏
  • 举报
回复
是不是因为最后一个数据有空格?
Sky丶Memory 2013-11-24
  • 打赏
  • 举报
回复
你getchar()这句肯定有问题,因为上面多输出的一个空格,难道LZ用这句还想把这个多输出的空格getchar()掉?
Sky丶Memory 2013-11-24
  • 打赏
  • 举报
回复
#include<stdio.h>
int main()
{
    int a[10],n,i;
    while(~scanf("%d",&n))
    {
        i=0;
        while(n)
        {
            a[i++] = n%10;
            n /=10;
        }
        for(i -=1;i>=0;--i)
            printf("%d%s",a[i],i ? " " : "\n");
    }
    return 0;
}
你试下这个代码
Sky丶Memory 2013-11-24
  • 打赏
  • 举报
回复
LZ,我想说的是,为什么不用字符数组接受,然后直接输出就可以了?
殇星飞痕 2013-11-24
  • 打赏
  • 举报
回复
我改成这样,但上交还是错的,不知怎么办? #include <stdio.h> int main (void) { int n; int t; int a[10]; int i; while(scanf("%d",&n)!=EOF) { t = n/10; i = 0; while (t > 0) { a[i] = n%10; i++; n = n/10; t = n/10; } a[i] = n; for (;i >= 0;i--) { if(i!=0) printf("%d ",a[i]); else{ printf("%d",a[i]); } } getchar(); printf("\n"); } return 0; }

64,639

社区成员

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

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