试用do while控制结构,计算下列级数的和s-+3+...+ (2i+1) +..当累加到某项s的值大于100时,该项及以后各项不再累加。结束循环求和。
时间: 2023-05-29 18:05:25 浏览: 38
这道题需要使用do while循环来进行求解,代码如下:
```
#include <stdio.h>
int main()
{
int i = 0;
double s = 0, a = 3;
do {
s += a;
i++;
a = 2 * i + 1;
} while (s <= 100);
printf("当累加到第%d项时,和为%.2lf\n", i, s);
return 0;
}
```
在这段代码中,我们首先定义了循环变量i、累加和s和当前项的值a。然后使用do while循环进行计算,每次将a加入到s中,同时更新a的值为下一项的值。当s大于100时,循环结束。最后输出累加到的项数和总和即可。
需要注意的是,在循环结束后,s的值已经包含了大于100的那一项的值,因此输出的项数应该是i而不是i+1。
阅读全文