读书人

C语言小小小疑点

发布时间: 2012-04-06 12:22:24 作者: rapoo

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");   } 

读书人网 >C语言

热点推荐