请写出与以下for语句等价的while语句。 sum = 0; for (i = 1; i <= n; i++){ sum = sum + i; }
时间: 2023-12-04 20:03:04 浏览: 458
以下是与给定for语句等价的while语句:
```c++
sum = 0;
i = 1;
while (i <= n) {
sum = sum + i;
i++;
}
```
这段while循环的实现与for循环的实现等价,都是对变量i从1到n进行遍历累加。在while循环中,变量i的初始值为1,每次循环时先执行累加操作,再将i加1,直到i的值大于n时退出循环。
相关问题
比较以下两条语句: for(i=1,sum=0;sum+=i,i<=100;i++); for(i=1,sum=0; i<=100,sum+=i;i++);
第一条语句的循环条件是“sum=i”,而非“sum+=i”,因此循环体中并没有对sum进行累加操作。因此,这条语句的作用是将sum的值不断更新为i,直到i达到100为止。最终的sum的值为100。
第二条语句的循环条件是“i<=100,sum=i”,这里使用了逗号运算符来连接两个条件。逗号运算符会先计算左边的表达式,再计算右边的表达式,并将右边表达式的结果作为整个表达式的值。因此,这条语句的作用是同时对i和sum进行累加操作,直到i达到100为止。最终的sum的值为5050。
while (i <= 10) sum =sum+1; i++;
这也是一个 while 循环语句,条件是 i 小于等于 10。但是循环体中只有一条语句,即将 sum 加一,而没有花括号括起来。因此,只有这一条语句会被循环执行,而 i++ 不属于循环体,不会被重复执行。
这段代码的作用是将 sum 加十次一,相当于将 sum 的初始值加上 10。如果想要将 sum 加一到十,应该将循环体写成花括号括起来,并将 i++ 放在花括号内:
```
while (i <= 10) {
sum += 1;
i++;
}
```
阅读全文