新月传说 发表于 2014-12-10 23:23:47

输出素数

不知道哪里出了错误,求教!!

#include<stdio.h>
#include<math.h>
int main(void)
{
        int n,m,t=1,h;
        for (n=101;n<=200;n++)
        {
                for (m=2;m<sqrt(n+1);m++)
                {
                        if (n%m==0)
                        {
                                t=0;break;
                          }
                                                                                                                                                            if (t)
                        {
                                printf("%d\n",n);
                                h++;
                                }
                                t=1;
                        }
                }
                printf("%d",h);
        }

~风介~ 发表于 2014-12-11 22:10:19

亲,把题目要求说一下,把格式改一下!另外,缺少return 0;

GRRRARD 发表于 2014-12-11 22:22:42

在printf("%d\n",n);这句之后就可以跳出内循环了,加句break

GRRRARD 发表于 2014-12-11 22:25:00

GRRRARD 发表于 2014-12-11 22:22
在printf("%d\n",n);这句之后就可以跳出内循环了,加句break

额,其实我也不知道你要求是什么,不过你这样写可能会把一个素数输出多次

半个菜鸟 发表于 2014-12-12 09:27:19

#include<stdio.h>
#include<math.h>
int main(void)
{
      int n,m,t=1,h=0;
      for (n=101;n<=200;n++)
      {
                for (m=2;m<sqrt(n+1);m++)
                {
                        if (n%m==0)            
                        {
                              t=0;
                                                        break;
                                                }
                }
                         if (t)                                                                                                                                       
                        {
                              printf("%d\n",n);   
                              h++;
                        }
                              t=1;
            
      }
                printf("%d",h);
}
正确的

半个菜鸟 发表于 2014-12-12 09:27:58

移了下 } 的位置

迷猪 发表于 2014-12-14 20:39:24

看得好累,是要输出素数并统计个数吗,把括号都对齐就不会错啦
页: [1]
查看完整版本: 输出素数