C语言把FOR修改成WHILE语句

2025-04-08 11:14:52
推荐回答(3个)
回答1:

所有的for都可以写成while...
比如:
for(I=初值;I<末值;I+=步频)
{
循环体
}
都可以变成:
I=初值;
while(I<末值)
{
循环体
I+=步频;
}
所以可以改成:

#define max_number 100
#define TRUE 1
#define FALSE 0
#include
using namespace std;
void main( )

{
int i ;
int j ;
int k ;
int may_be_prime ;
printf ("2 is a prime.\n") ; // we start finding from 3
i=3;
while( i < max_number)
{
may_be_prime = TRUE ;
j=3;
while(j < i)
{
if( (k = i/j*j) == i ) // it is not a prime i is divisible by j
{
may_be_prime = FALSE ;
}
j+=2;//only odd numbers are prime
}
if ( may_be_prime )
{
printf("%d is a prime.\n",i);
}
i+=2;
}
}
格式尽量养成,这样一目了然,在哪放步频也就很清楚了。
如果对了给分谢

回答2:

while(n <= 100)
{ i = 2; flag = 0;
while(i < n)
{ if(n%i == 0)
{ flag = 1;
break;
}
++i;
}
给你核心代码,然后自己看懂了在写这样提高多

回答3:

i=3
while(i{
j=3;

while(j
{

........

j+=2;

}

.......

i+=2;

}