一个acm的系统测试题。。。第一次用这个系统,,怎么提交也不对啊。

输入N个数据,然后将这N个数据反向输出在一行中(系统测试题)Input第一行一个整数N行二行N个数据Output反向输出N个数据于一行中SampleInput3123Sa... 输入N个数据, 然后将这N个数据反向输出在一行中(系统测试题)

Input

第一行一个整数N
行二行N个数据

Output

反向输出N个数据于一行中

Sample Input
3
1 2 3

Sample Output
3 2 1

我的代码。。。
tc下正确,为啥它老报wrong error
#include <stdio.h>
#include <stdlib.h>
void main()
{
int *p;
int n;
int i;
int temp;
while(scanf("%d",&n)!=EOF) if(n>0) break;
p=(int *)calloc(n,sizeof(int));
for(i=0;i<n;i++)
scanf("%d",p+i);
for(i=0;i<n/2;i++)
{
temp=*(p+i);
*(p+i)=*(p+n-1-i);
*(p+n-1-i)=temp;
}
for(i=0;i<n;i++)
printf("%d ",*(p+i));
free(p);
p=NULL;
}
展开
 我来答
百度网友38c8e98
2011-02-24 · TA获得超过2657个赞
知道小有建树答主
回答量:1131
采纳率:0%
帮助的人:576万
展开全部
输入,输出等一定要一模一样才能通过,即使只差一个空格,一个换行,也是Wrong answer
它是要求测试一组数据还是很多组?
而且你的算法也有问题,可能会超过memory和time,这个用栈来解决是最合适不过了

#include <stdio.h>
#include <stdlib.h>
void main()
{
int *p,*base;
int n;;
scanf("%d",&n);//测试,不需要判断异常输入
p=base=(int *)calloc(n,sizeof(int));
for(;p<base+n;p++)
scanf("%d",p);
for(;p>=base;p--)
printf("%d ",*p);
free(p);
}
追问
...这个是栈啊,我还没学数据结构。。。果然厉害
貌似在 scanf("%d",p);
for(;p>=base;p--)
之间要加个p--;然后后面加个p++;
不过还是wrong answer。。。都按照它的输出了,空格都一样
百度网友42b0877
2011-02-24 · TA获得超过314个赞
知道小有建树答主
回答量:586
采纳率:0%
帮助的人:371万
展开全部
明显不对撒。。acm不是通过无数次运行你程序来检测你的对错。而是通过一次运行输出N次数据。来判断。所以你根本没写循环输出 所以肯定错误
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式