C语言入门 数列

Python013

C语言入门 数列,第1张

有2中方法可以实现,比如

分配一个较大的数组

     int a[10] = {1,2,3,4,5,6,}

     int count = 6//记录数组元素的个数

     a[6]=7, count++

2. 使用动态分配内存

    int *a=(int*)malloc(6*sizeof(int))

    // 把6个数组元素的值放入数组,代码略

    int a=(int*)realloc(6*sizeof(int))

    a[6]=7

首先你所求的数列是一个公差为1的二级等差数列,如下:

所求数列:1 2 4 711……

二级数列: 1 2 3 4……

因此解题的方法也就很明确了,第一步就是先求出二级数列,第二步就可以求出目标数列,最后一步把目标数列各项加起来就得到正确结果了。

C代码如下,代码可以求数列的前n项之和,n的值由自己设定,要求10项就键盘输入10就ok了!(n<=100,这个值可以自己改,修改数组定义处的值就ok)

#include "stdio.h"

void main()

{

int a[100],b[100]

int i,n,sum=0

a[0]=1

printf("Please input How many numbers you need to summation?\n")

scanf("%d",&n)

for(i=0i<n-1i++) //长度为n-1的公差为1的数列b

{

b[i]=i+1

}

for(i=0i<n-1i++) //求长度为n的目标数列a

{

a[i+1]=a[i]+b[i]

}

printf("The array is:\n") //输出目标数列a

for(i=0i<ni++)

{

printf("%d ",a[i])

}

printf("\n")

for(i=0i<ni++)//求数列前n项和

{

sum+=a[i]

}

printf("The summation result is:\n%d\n",sum)

}

#include #define COL 10 //一行输出10个 long scan() { //输入求fibonacci函数的第N项 int nprintf("Input the N = ")scanf("%d",&n)return n} long fibonacci(int n) { //fibonacci函数的递归函数 if (0==n||1==n) { //fibonacci函数递归的出口 return 1} else { return fibonacci(n-1)+fibonacci(n-2)//反复递归自身函数直到碰到出口处再返回就能计算出第n项的值 } } int main(void) { int i,nn = scan()printf("Fibonacci数列的前%d项\n", n)for (i=0i