用c语言求s=1+2+4+8+…+64的值。
时间: 2023-11-11 12:07:35 浏览: 80
这道题可以使用for循环来解决。根据题目,s的初始值为1,i的初始值为2,每次i的值都要乘以2,直到i的值大于64为止。在循环中,每次将i的值加到s上,最后输出s的值即可。代码如下:
```
#include <stdio.h>
void main() {
int s = 1, i = 2;
for (i = 2; i <= 64;) {
s += i;
i = i * 2;
}
printf("s=1+2+4+8+......+64=%d\n", s);
}
```
相关问题
C语言+求S=1+2+3+…+n的值
以下是C语言三种循环语句实现求S=1+2+3+...+n的值的例子:
1. while循环实现:
```c
#include <stdio.h>
int main() {
int i = 1, n, sum = 0;
printf("n:");
scanf("%d", &n);
while (i <= n) {
sum += i;
i++;
}
printf("sum=%d", sum);
return 0;
}
```
2. for循环实现:
```c
#include <stdio.h>
int main() {
int i, n, sum = 0;
printf("n:");
scanf("%d", &n);
for (i = 1; i <= n; i++) {
sum += i;
}
printf("sum=%d", sum);
return 0;
}
```
3. do-while循环实现:
```c
#include <stdio.h>
int main() {
int i = 1, n, sum = 0;
printf("n:");
scanf("%d", &n);
do {
sum += i;
i++;
} while (i <= n);
printf("sum=%d", sum);
return 0;
}
```
C语言求s=3+33+333+3333用for
可以使用类似于引用[1]的方法来求解s=3+33+333+3333的和。具体代码如下:
```
#include <stdio.h>
#include <math.h>
int main() {
int n = 4; // 一共有4项
int coefficient = 3; // 系数为3
int sum = 0; // 总和初始化为0
int value_item = 0; // 每一项的值初始化为0
int i, j;
for (i = 1; i <= n; i++) {
int value_power = pow(10, i - 1); // 每一项的幂次
value_item = coefficient * value_power; // 每一项的值
for (j = 1; j <= i; j++) {
value_item += coefficient * pow(10, j - 1); // 每一项的值累加
}
sum += value_item; // 总和累加
if (i == 1) {
printf("S=%d", value_item); // 第一项不需要加号
} else {
printf("+%d", value_item); // 其他项需要加号
}
}
printf("=%d", sum); // 输出总和
return 0;
}
```