ACM初级 帮解释一下,为什么我的代码不能AC

[复制链接]
查看11 | 回复1 | 2011-4-11 01:26:47 | 显示全部楼层 |阅读模式
链接在这
<a href=\"http://acm.xidian.edu.cn/land/problem/detail?problem_id=1076\" target=\"_blank\">http://acm.xidian.edu.cn/land/problem/detail?problem_id=1076</a>
我的C代码是:
#includestdio.h
#define N 100
long int main()
{
int m, n, i, j, a[N], b[N],c[20][N/2], d[20], z[N]={0}, o=0;
while(scanf(\"%d%d\",
for(i=0;in;i)
scanf(\"%d\",
for(j=0;jm;j)
scanf(\"%d\",
int *p=a,*q=b;
while(p-anm)
{
if(*p==*q)
{

c[o][z[o]]=*p;

p;

q;

z[o];
}
else if(*p*q) q;
else q;
}
if(z[o]==0) d[o]=0;
else if(z[o]n/2) d[o]=-1;
else d[o]=1;
}

for(j=0;jo;j)
{
switch (d[j])
{

case 0:printf(\"有没有女孩子愿意跟我一起回家种田~~\\n\");break;

case -1:printf(\"美丽的女孩,你不适合种田,你适合做ACM!\\n\");break;

case 1:{

printf(\"就是你了,陪我回家种田去吧!\\n\");

printf(\"%d\\n\", z[j]);

for(i=0;iz[j];i)

printf(\"%d\\n\", c[j]);

}

break;
}
}
return 0;
}
我是电子类专业的,刚开始ACM,目的就是为了提高编程能力,现在写的很乱,能不能告诉我怎么才能写的调理比较清楚?
再次 先表示感谢!!!
回复

使用道具 举报

千问 | 2011-4-11 01:26:47 | 显示全部楼层
<pre id=\"best-answer-content\" class=\"reply-text mb10\">了0

原因是WA的程序里面并没有定义c[0],所以当M==N的时候,c[n-m]会访问一个未知大小的变量,导致了当M==N的时候,输出结果不可预计。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行