如何将循环转换为while循环在c语言?


#include<stdio.h>
int main(){
int i,j,rows;
printf("Input number of rows : ");
scanf("%d",&rows);
for (i=1;i<=rows;i++) {
for (j=1;j<=i;j++)
printf ("%d",i);
printf ("n');
}
return 0;
}

我是新的c编程可以有人帮助转换这个for循环到while循环?由于

任意for循环

for (e1; e2; e3) {
*block*
}

严格等价于(仅当块中没有continue时):

e1;
while (e2) {
*block*
e3;
}

如果e2为空,则在翻译时可以用1代替。

所以你有这个循环:

for (i=1;i<=rows;i++) 
{
for (j=1;j<=i;j++)
printf ("%d",i);
printf ("n');
}

这个循环一直运行,直到1:i到达i <= rows和2:j<=i。要将for循环更改为while循环,只需要使用等效表达式。您可以在第一个循环中尝试这样做:

i=1;
while(i<=rows)
{
[...]
i++;
}

您只需要在循环之前手动设置计数器变量,并在循环结束之前增加计数器变量。对于第一个循环中的循环,你只需做同样的事情:

i=1    
while(i<=rows)
{
j=1
while(j<=i)
{
[...]
j++;
}
i++
}



最新更新