哈丶哈哈 发表于 2015-6-3 19:42:15

c语言for循环转换成while循环

#include <stdio.h>
int main()
{
    int a,b,c;
    for(a=101; a<=200; a++)
    {
      c=0;         
      for(b=2; b<a; b++)
      {
            if(a%b==0)
                c++;
      }
      if(c==0)
            printf("%d\n",a);
    }
    return 0;
}
这是对的,是输出100到200的素数,把for循环转换成while,我的是这样
#include<stdio.h>
int main()
{
int        a=101,b,c;
while(a<=200)
{c=0;
b=2;
   while(b<a)
   {
      if(a%b==0)
           {
              c=c+1;
                b=b+1;
           }
   }
   if(c==0)
       printf("%d\n",a);
a=a+1;
}
}
新手求指导

ryxcaixia 发表于 2015-6-3 19:42:16

int main()
{
        int a=101, b, c;

        while(a<=200)
        {
                c=0;
                b=2;
                while(b<a)
                {
                        if(a%b==0)
                        {
                                c=c+1;
//                                b=b+1;
                        }
                        b=b+1;
                }
                if(c==0)
                        printf("%d\n",a);
                a=a+1;
        }
}

搜索
复制

哥斯拉不说话 发表于 2015-6-3 20:26:41

把 b=b+1 放到 if 语句的外面。通过两个程序的比较就可以发现。

非常极客 发表于 2015-6-4 14:55:11

mark
页: [1]
查看完整版本: c语言for循环转换成while循环