c語言等差數列
1. c語言求等差數列
#include<stdio.h>
main()
{
int a,b,c,d,i,sum=0;
for(a=1;a<=26;a++)
for(d=1;d<=26;d++)
{ /*等差數列前四項之和*/
b = a + a + d + a + 2 * d + a + 3 * d;
/*b = 4 * a + 6 * d */
if(b!=26)
continue;
else
{ /*等差數列前四項之積*/
c = a * (a + d) * (a + 2 * d) * (a + 3 * d);
if(c!=880)
continue;
else
for(i=0;i<6;i++)
{
printf("%d,",a+i*d);
sum=sum+(a+i*d);
}
}
}
printf("\n數列的前6項的和:%d\n",sum);
}
2. 如何用c語言構造一個等差數列
從首項開始, 每次遞加一個固定值,就是等差數列了
用for循環很容易做到。
比如 輸入首項,和差值,列印前十項的代碼可以寫作:
#include<stdio.h>
intmain()
{
inta,n,i;
scanf("%d%d",&a,&n);
for(i=0;i<10;i++)
{
printf("%d",a);
a+=n;
}
printf(" ");
return0;
}
3. 求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的情況下的求和結果,可以看出兩種不同求和方式得到結果一致。
4. c語言 等差數列 輸入三個數 輸出一個數字使得4個數字組成等差數列
#include<stdio.h>
int main()
{
int a,b,c,d;
scanf("%d%d%d",&a,&b,&c);
if((c-b)!=(b-a))
{
printf("不是等差數列");
}
else
{
printf("第四個數是: %d",c+c-b);
}
return 0;
}
5. c語言等差數列求和問題
#include <stdio.h>
int main(void)
{
double a = 1.4;
int i;
double sum = 0;
for(i = 0;i < 3; i++)
{
sum = sum + a;
a = a + 1.2;
}
printf("sum = %f\n",sum);
return 0;
}
/*
執行過程:
a = 1.4;sum = 0;
i = 0;i < 3成立;sum = 0 + 1.4 = 1.4;a = 1.4 + 1.2 = 2.6;i ++;
i = 1;i < 3成立;sum = 1.4 + 2.6 = 4;a = 2.6 + 1.2 = 3.8;i ++;
i = 2;i < 3成立;sum = 4 + 3.8 = 6.8;a = 3.8 + 1.2 = 4;i++;
i = 3;i < 3不成立;
輸出 sum = 6.8
*/
這是求前三項的和;要求前100的只需把for循環中 的 i < 3 改變為 i < 100;即可;
執行結果為:sum = 6080.000000
6. C語言問題等差數列
include<stdio.h> int compute(int,int,int); void main() { int a1,d,n,sn; printf("輸入a1:"); scanf("%d",&a1); printf("輸入等差d:"); scanf("%d",&d); printf("輸入項數n:"); scanf("%d",n); sn=compute(a1,d,n); printf("前n項和為%d",sn); } int compute(int a1,int d,int n) { return 2/(n*(a1+((n-1)*d))); } 沒有測試
7. 如何用C語言輸出一個等差數列
#include<stdio.h>
intmain()
{inti,j,n;
scanf("%d",&n);
for(i=n;i>0;i--)
{for(j=i;j>0;j--)
printf("%d",j);
printf("
");
}
return0;
}
8. 誰能給我一個用C語言寫的等差數列函數
int fun(int a){ int b[9],i,j,k=0; //10個數字之間的差共有9個所以b數組為9 j=a[1]-a[0]; //現確定下等差 for(i=0;i<9;i++) b[i]=a[i+1]-a[i]; //將a數組中的前後兩項的數的差值存入b數組中 for(i=0;i<9;i++){ if(j==b[i]) //判斷b數組中的數是否於開始確定的差值相等 k++; } if(k==9) //判斷是否所有的差值都相等 return 1;elsereturn 0;}main(){ int a[10],i,j; for(i=0;i<10;i++) scanf("%d",&a[i]); //輸入10個數字 j=fun(a); //調用函數fun if(j==1) printf(" yes\n"); else printf(" no\n");}你沒說要判斷的數列是多長我自己定義了10個,你可以自己改。