杭电1016 提交总是Presentation Error,那位大神帮忙看看那里错了。谢谢!

#include<stdio.h>intn,s[20];intss(inta){inti;for(i=2;i<a;i++)if(a%i==0)return0;return... #include<stdio.h>
int n,s[20];
int ss(int a)
{
int i;
for(i=2;i<a;i++)
if(a%i==0) return 0;
return 1;
}
void fd(int x)
{
int k,j,i;
if(x==n)
if(ss(s[x-1]+1)==1)
{
for(k=0;k<x;k++)
printf("%d ",s[k]);
printf("\n");
}
for(i=2;i<=n;i++)
{
s[x]=i;
if(ss(s[x-1]+s[x])==0) continue;
for(j=1;j<x;j++)
if(s[x]==s[j]) break;
if(j==x) fd(x+1);

}
}
int main()
{
int sum=0;
s[0]=1;
while(scanf("%d",&n)!=EOF)
{
printf("Case %d:\n",++sum);
if(n!=1)
fd(1);
printf("\n");
}
return 0;
}
展开
 我来答
wanglixin1001
2012-10-22 · TA获得超过4173个赞
知道大有可为答主
回答量:1758
采纳率:80%
帮助的人:851万
展开全部
PE错误是输出格式的问题。
你的fd函数中这句话printf("%d ",s[k]);会在最后一个数据后再输出一个空格。这可能是导致问题的原因。
修改为
for(k=0;k<x-1;k++) printf("%d ",s[k]);
printf("%d",s[k]); //最后一个单独输出,不加空格。
再试试吧。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式