首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

C语言小小小疑点

2012-04-06 
C语言小小小问题int psushu(int m){int i2,tfor(imi++)if(m%i0&&im) breakif(m-i0) t1else

C语言小小小问题
int psushu(int m)  
{int i=2,t;  
for(;i<=m;i++)  
if(m%i==0&&i<m) break;  
if(m-i==0) t=1;  
else t=0;  
return(t);
}  
void main()  
{
int a,s;  
printf("enter sushu is \n");  
scanf("%d",&a);  
s=psushu(a);  
if(s==1) printf("a is sushu\n");  
else printf("s is not sushu\n");  
}  
求素数的程序,我这里写得那里有问题吗?为什么我运行后,输入素数后,返回结果不对呢?我输入7,8结果都是is not sushu,郁闷我初学望高手说详细点。

[解决办法]

C/C++ code
#include<stdio.h>int psushu(int m)   {    int i=2,t;       /*for(;i<=m;i++)  */    for(;i<m; i++) { /*小于m就可以了, 下面if没有必要再判断i<m了*/        /*if(m%i==0&&i<m) */        if(m % i == 0) {            break;           }    }    if(m-i==0)         t=1;       else         t=0;       return(t);}   void main()   {    int a,s;       printf("enter sushu is \n");       scanf("%d",&a);       s=psushu(a);       if(s==1)         printf("a is sushu\n");       else         printf("s is not sushu\n");   } 

热点排行