#include <stdio.h> #include <stdio.h>
void main() void main()
{ int x(int); { int prime(int);
int n; int x;
printf ("请输入整数\n"); printf ("输入一个正整数\n\n");
scanf("d%",&n); scanf("%d",&x);
if (x(n)==0) printf("是素数"); if(prime(x)==0) printf("\n\n此数为素数\n\n");
else printf("不是素数"); else printf("\n\n此数不是素数\n\n");
} }
int x(int n) int prime(int x)
{int i,t; {int i,flag;
for(i=2;i<n;i++) for(i=2;i<x;i++)
{ if (n%i==0) { if(x%i==0)
{ t=1; break; } { flag=1; break;}
else t=0; } else flag=0; }
return(t); return(flag);
} }
上面两个程序我觉得都一样,都没错,但是输入7以后,得到的结果就不一样。左边到底是哪里出错了?求大神指导。
void main() void main()
{ int x(int); { int prime(int);
int n; int x;
printf ("请输入整数\n"); printf ("输入一个正整数\n\n");
scanf("d%",&n); scanf("%d",&x);
if (x(n)==0) printf("是素数"); if(prime(x)==0) printf("\n\n此数为素数\n\n");
else printf("不是素数"); else printf("\n\n此数不是素数\n\n");
} }
int x(int n) int prime(int x)
{int i,t; {int i,flag;
for(i=2;i<n;i++) for(i=2;i<x;i++)
{ if (n%i==0) { if(x%i==0)
{ t=1; break; } { flag=1; break;}
else t=0; } else flag=0; }
return(t); return(flag);
} }
上面两个程序我觉得都一样,都没错,但是输入7以后,得到的结果就不一样。左边到底是哪里出错了?求大神指导。


