C语言求素数 这个表达式我列出来了 不过是很久以前的 现在回顾发现有问题

2025-05-11 03:23:46
推荐回答(4个)
回答1:

1、第9行if(t%x==0) 改成if(x%t==0)
2、你的程序中,如果是素数应该打印的是not,不是素数打印的是prime。不知道是不是你想要的结果,如果不是把main函数中的条件if(c==1)改成if(c==0)
3、prime函数中if(x==1)//1不是素数 改成if(x<2),因为负数,0,1都不是素数。

回答2:

目测应该是
for(t=2;t{
if(x%t==0)
return 1;
}
吧。。。。。

回答3:

#include "stdio.h"
int prime(int x)
{
int t;
if(x==1)
return 0;
for(t=2;t{
if(x%t==0)
return 0;
}
if(t>=x)
return 1;
}
main(){
int n,c;
scanf("%d",&n);
c=prime(n);
if(c==1)
printf("%d is prime.",n);
else
printf("%d is not.",n);
}
我改了一下你的,你复制到vc里面看看运行对不对。

回答4:

你确定scanf中n不要加& ?