注册 登录
编程论坛 C++教室

求助··运行出错了···

a382793896 发布于 2011-05-12 23:19, 309 次点击
程序代码:
/*求100内的素数*/
# include <stdio.h>

bool sushu(int val)
{
    int i ;
    for (i = 2; i<val; ++i)
    {
      if(0 == val%i)
      {
          break;
      }
     else if(i == val)
      return true;
         else
             return false;

      }
int main(void)
{
    int i;
   
     for (i = 2; i<100; ++i)
        {
        
          if (sushu(i))
              printf("输出1到100素数:%d",i);
   
     }  


     return 0;
}
运行时提示有错误··
但我就是找不出来错误···
求高手解决!!!
1 回复
#2
yuccn2011-05-12 23:45
主要是你的for(){} 后面没有一个return值。
程序代码:
# include <stdio.h>

bool sushu(int val)
{
    if (val < 1) {
        return false;
    }

    int i ;
    int nMid = val / 2;
    for (i = 2; i<val; ++i) {
        if(0 == val%i) {
            return false;
        }      
    }

    return true;
}

int main(void)
{
    int i;
    printf("输出1到100素数:\n");
      
    for (i = 2; i<100; ++i) {
      
        if (sushu(i)) {
            printf("%d\n",i);
        }      
    }
   
    return 0;
}

 
1