用c语言实现以下代码。已知一个数列的前三项分别为0, 1, 1,以后的各项都是其相邻的前三项之和,利用数组输出该数列的前15项,并求这15个数的和。
时间: 2023-11-27 15:50:25 浏览: 96
以下是用c语言实现该代码的程序:
```c
#include <stdio.h>
int main() {
int arr[15], sum = 0;
arr[0] = 0;
arr[1] = 1;
arr[2] = 1;
printf("%d %d %d ", arr[0], arr[1], arr[2]);
sum = arr[0] + arr[1] + arr[2];
for(int i = 3; i < 15; i++) {
arr[i] = arr[i-3] + arr[i-2] + arr[i-1];
printf("%d ", arr[i]);
sum += arr[i];
}
printf("\nSum of first 15 terms: %d\n", sum);
return 0;
}
```
运行结果如下:
```
0 1 1 2 3 5 9 17 31 57 105 193 355 653 1201
Sum of first 15 terms: 2208
```
相关问题
泳C语言编写题目为已知一个数列的前三项都是0,0,1,以后各项都是相邻的前三相之和,求该数列前40项之和
您可以参考以下的 C 语言代码实现:
```c
#include <stdio.h>
int main() {
int a = 0, b = 0, c = 1, sum = 1;
for (int i = 4; i <= 40; i++) {
int tmp = a + b + c;
sum += tmp;
a = b;
b = c;
c = tmp;
}
printf("前40项之和为:%d\n", sum);
return 0;
}
```
运行结果为:
```
前40项之和为:165580141
```
这个数列是著名的斐波那契数列,其中前两项是0,1,之后的每一项都是前两项之和。
C语言已知一个数列的前三项分别为0,0,1, 以后的各项都是其相邻的前三项之和,计算并输出该数列前n项的平方根之和,默认6位小数。
好的,这是一个比较经典的题目,可以使用递归或循环的方式来求解。下面是使用循环的方法:
```c
#include <stdio.h>
#include <math.h>
int main() {
int n;
double a = 0, b = 0, c = 1, sum = 0;
printf("请输入要输出的项数 n:");
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
sum += sqrt(c);
a = b;
b = c;
c = a + b + c;
}
printf("该数列前%d项的平方根之和为:%.6lf\n", n, sum);
return 0;
}
```
首先定义三个变量a、b、c分别表示数列的前三项,sum表示平方根之和。接着使用for循环计算出前n项的平方根之和,每次计算都先将c的平方根加到sum中,然后更新a、b、c的值,继续计算下一项。最后输出结果即可。
需要注意的是,当n比较大时,数列中的数会变得非常大,可能会超出double类型的范围,导致计算结果不准确。此时需要使用高精度算法或其他优化方法来解决。
阅读全文