C++的while-loop问题请教,请大神指点

C++程序,请详细注释。谢谢!

以下代码片段想转换为只使用while-loop(外、内、while)而不是for循环的逻辑等效代码片段,请问需如何修改。
图片说明

5个回答

你只要机械地这么写就可以。
所以你的代码就是

 int sth = 0;
int i = 0;
while (i < 3)
{
cout << i << " ";
int j = 1;
while (j < 4)
{
sth += j;
++j;
}
cout << sth << " ";
++i;
}

根本不用理解你原来的程序干嘛的,就这么套用

简单吧。

for (a; b; c)
{
d
}
转换为
a
while (b)
{
d
c
}

顺便说下,任何while循环也可以机械地转换为for,更简单

while (a)
{
b
}
转换为
for (;a;)
{
b
}

int sth = 0,i = 0,j= 1; //变量初始化
while(i<3) //外循环条件判断
{
count << i << "";

while(j < 4) //内循环条件判断
{
sth+= j; //累加
j++; //内循环条件增加
}
i++;
count << sth <<"";//打印累加和
}

for语句格式为for(循环变量赋值;退出条件;循环变量增量){循环体;}
while语句格式为while(退出条件){循环体;}
如果将for语句变成while语句,只需把循环变量赋值放到while语句前,再把循环变量增量放到循环体最末。
---举个例子---
比如说你代码的第二行至第八行:
for (int i = 0; i < 3; ++i)
{
...
}
变成
int i = 0;
while (i < 3)
{
...
++i;
}
即可。
第五至六行类似。
---全部代码---
int sth = 0;
int i = 0;
while (i < 3)
{
cout << i << " ";
int j = 1;
while (j < 4)
{
sth += j;
++j;
}
cout << sth << " ";
++i;
}

注意:有时候循环体加上循环变量增量为2段(及以上)代码,务必要用花括号{}括起来!

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问