c語言求數列的和
Ⅰ c語言斐波那契數列求和
奇數項求和:a₁+a₃+a₅+a₇+...+a₂ₙ₋₁=a₂ₙ
偶數項求和:a₂+a₄+a₆+a₈+...+a₂ₙ=a₂ₙ₊₁-1
平方求和:a₁+a₂+a₃+a₄+...+aₙ²=aₙ·aₙ₊₁
斐波那契數列中的斐波那契數會經常出現在我們的眼前——比如松果、鳳梨、樹葉的排列、某些花朵的花瓣數(典型的有向日葵花瓣),蜂巢,蜻蜓翅膀,超越數e(可以推出更多),黃金矩形、黃金分割、等角螺線等。
(1)c語言求數列的和擴展閱讀:
斐波那契數列特性
平方與前後項:從第二項開始,每個偶數項的平方都比前後兩項之積多1,每個奇數項的平方都比前後兩項之積少1。
如:第二項 1 的平方比它的前一項 1 和它的後一項 2 的積 2 少 1,第三項 2 的平方比它的前一項 1 和它的後一項 3 的積 3 多 1。
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765]
(註:奇數項和偶數項是指項數的奇偶,而並不是指數列的數字本身的奇偶)
Ⅱ C語言,數列求和
#include<stdio.h>
intmain()
{doubles=0,t;
inti,n;
scanf("%d"乎派,&n);
for(i=1;i<=n;i++)
{t=i*i;
if(i%2)s+=1-1/t;
森陸elses-=1-1/t;
}
printf("%.3lf
",s);
return此頃頃0;
}
Ⅲ C語言編程數列求和
這是c語言的語法啊 sum += double(b) / a 等同於 sum = sum + double(b) / a
右邊的sum表示變數sum的地址 因為在等號的左邊所以也稱作左值
所以是把 sum的值加上 轉換成double類型的b和a的商 儲存於 sum變數的地址中
明白了嗎?
Ⅳ C語言數列求和
#include<stdlib.h>
#include<math.h>
intmain()
{
doublex,num,sum=0;
inti=1,j,flag=1;
doublejie;
scanf("%lf",&x);
while(1)
{
j=i;
jie=1.0;
while(j)
{//計算階乘
jie*=j--;
}
num=pow(x,i++)/jie;//pow為計算x的i次方
if(fabs(num)<0.00001)//fabs計算絕對值
{
break;
}
if(flag)//是好慧塌加友圓是減用flag標志
{
sum+=num;
flag=0;
}
else
{
sum-=num;
flag=1;
}
//printf("sum=%lf,num=%lf,jie=%ld,i=%d "碧正,sum,num,jie,i);
}
printf("sum=%.2f",sum);
getch();
return0;
}
Ⅳ C語言數組怎樣求和,
先獲取數組長度,然後用for循環,從數組中獲取值進行累加求和。
#include
#include
int main()
{
int n;
int val;
int * a;
int sun = 0, i;
printf("請輸入數組的長度:");
scanf("%d", &n);
printf(" ");
a = (int *)malloc(n * sizeof(int));//為數組a動態分配內存
for(i = 0; i < n; i++)
{
printf("請輸入數組的第%d個元素的值:", i+1);
scanf("%d", &val);
printf(" ");
a[i] = val;
}
for (i = 0; i < n; i++)
{
sun+=a[i];//sun+=a[i]相當於sun=sun+a[i];
}
printf("sun = %d ",sun);
free(a);//釋放a動態分配的內存
return 0;
}
(5)c語言求數列的和擴展閱讀:
一個數組中的所有元素具有相同的數據類型(在C、C++、Java、pascal中都這樣。但也並非所有涉及數組的地方都這樣,比如在Visual Foxpro中的數組就並沒這樣的要求)。當然,當數據類型為 Variant 時,各個元素能夠包含不同種類的數據(對象、字元串、數值等等)。可以聲明任何基本數據類型的數組,包括用戶自定義類型和對象變數。
如果要用戶輸入的是一個數組,一般是用一個循環,但是在輸入前也需要固定數組的大小。
compact跟變長數組沒有太大的關系,也應該用不到變長數組。因為一般的傳數組到函數中就是傳數組的地址和元素的個數的,那隻是一個提示,不是要求。
Ⅵ 求C語言編寫等差數列求和的代碼
等差數列求和求和有兩種方法,第一種是數值循環相加,第二種是利用公式:
Sn=n*a+n*(n-1)*d/2,其中a為數列首項
代碼如下:
#include <stdio.h>
int main(void)
{
int a,m,d,sum;
int s=0,n=1;
do {
printf("清輸入等差數列首項值a,項數m,數列差值d
");
scanf("%d,%d,%d",&a,&m,&d);
}while(a<1||m<1||d<1);
while(n<=m)
{
s+=a+(n-1)*d;
n++;
}
sum=m*a+d*(m*(m-1))/2; //sum為通過公式,求等差數列的和
printf("s=%d
sum=%d
",s,sum); //s為通過數據循環相加得到的等差數列的和
return 0;
}
上圖是首項值為1,數列差值為分別1和2的情況下的求和結果,可以看出兩種不同求和方式得到結果一致。