C++程序,请详细注释。谢谢!
以下代码片段想转换为只使用while-loop(外、内、while)而不是for循环的逻辑等效代码片段,请问需如何修改。
你只要机械地这么写就可以。
所以你的代码就是
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段(及以上)代码,务必要用花括号{}括起来!