王鹿其 发表于 2023-10-15 12:47:55

将下列代码改成for语句

#include<iostream>
using namespace std;
int main()
{
    int i=1,k;
    do{
           i+=1;
       int k=0;
      
       for(int j=2;j<i;j++)
       {
       if(i%j==0)
            {k++;break;}
       }
      
       if(k==0)
       cout<<i<<endl;
}
while(i<=99);
return 0;
      
}

isdkz 发表于 2023-10-15 12:48:18

你好,将该代码改成for语句的话,可以这样写:

#include<iostream>
using namespace std;
int main()
{
    int i, j, k;
    for(i = 2; i <= 99; i++)
    {
      k = 0;
      for(j = 2; j < i; j++)
      {
            if(i % j == 0)
            {
                k++;
                break;
            }
      }
      if(k == 0)
      {
            cout << i << endl;
      }
    }
    return 0;
}

将原先的do-while语句改成了for语句,for语句的三个参数分别是循环变量的初始值、循环条件和循环变量的更新方式。在这里,循环变量i的初始值是2,循环条件是i <= 99,循环变量的更新方式是i++。在循环体内,我们将原先的int k=0;移动到了for循环的外部,并且将原先的int j=2;也移动到了for循环的内部。

陶远航 发表于 2023-10-15 12:48:23

你的代码使用了do-while循环,我们可以将其改写为for循环。以下是修改后的代码:

#include<iostream>
using namespace std;
int main()
{
    for(int i=1; i<=99; i++)
    {
      int k=0;
      for(int j=2; j<i; j++)
      {
            if(i%j==0)
            {
                k++;
                break;
            }
      }
      if(k==0)
            cout<<i<<endl;
    }
    return 0;
}


这段代码的功能是打印出1到99之间的所有质数。在for循环中,我们首先设定了一个范围(i从1到99),然后在这个范围内检查每一个数是否为质数。如果一个数不能被它之前的任何一个数整除(除了1和它自身),那么这个数就是质数,我们就将它打印出来。
请注意,本回答来自GPT-4
如果问题已经解决,请设置最佳答案

Mike_python小 发表于 2023-10-15 12:48:54


#include<iostream>
using namespace std;

int main()
{
    for (int i = 2; i <= 99; i++)
    {
      int k = 0;
      
      for (int j = 2; j < i; j++)
      {
            if (i % j == 0)
            {
                k++;
                break;
            }
      }
      
      if (k == 0)
      {
            cout << i << endl;
      }
    }

    return 0;
}


将原先的do-while循环改为for循环的改动如上所示。for循环中有三个参数,分别是循环变量的初始值、循环变量的终止条件和循环变量的更新方式。在这里,我们将i初始化为2,设定循环条件为i <= 99,即循环到100以前的数。循环体内部与原代码相同,只是去掉了do-while中的一些逻辑判断,并且需要将k从do-while外部的变量转移到for循环的内部进行定义后使用。

这样做可以让代码更紧凑,同时也清晰地表明了循环的范围和计数器的变化规律,便于代码的阅读和理解。

球一个最佳答案谢谢啦!这对我非常重要!{:10_254:}{:10_254:}{:10_254:}

六翻了 发表于 2023-10-15 13:07:30

#include<iostream>
using namespace std;
int main()
{
    for(int i=1; i<=99; i++) {
      int k = 0;
      for(int j=2; j<i; j++) {
            if(i%j == 0) {
                k++;
                break;
            }
      }
      if(k == 0) {
            cout << i << endl;
      }
    }
    return 0;
}
页: [1]
查看完整版本: 将下列代码改成for语句