c语言等差数列求和

c语言等差数列求和
待解决 [ 标签:c语言, 等差数列 ] 阅读.表达 离问题结束还有15天0小时
main()
{
int a,d,n,i,s;
scanf("%d%d%d",&a,&d,&n);
s=0;
for (i=1;i<=n;i=i++,a=a+d);
{
s=a+s;
printf("%d",s);
}
getch();
}
等差数列求和sn,为什么出来的第N项的值an?

你这公式本来就是计算末项的啊。计算和应该是这样:
#include<stdio.h>
main()
{
int a,d,n,i,s,an;
scanf("%d%d%d",&a,&d,&n);
an=0;
s=0;
for (i=1;i<=n;i=i++,a=a+d);
{
an=a+an;
s=s+an;
printf("%d",s);
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-07-05
你的for后面多了一个;,而且程序稍微有点问题。。。。可以这样改
int main()
{
int a[100],d,n,i,s[100]; //a s数组大小
scanf("%d%d%d",&a[0],&d,&n);
s[0]=a[0];
for (i=1;i<=n;i++)
{
a[i]=a[i-1]+d;
s[i]=a[i]+s[i-1];
printf("a=%d\n",a[i]);
printf("s=%d\n",s[i]);
}
}
第2个回答  推荐于2017-09-30
新手做的,菜鸟级别
#include <stdio.h>
int main(){

int a,d,n,i = 1;
printf("enter the first number:");
scanf("%d",&a);
printf("enter the space:");
scanf("%d",&d);
printf("enter the step number:");
scanf("%d",&n);
int C = a,an = 0;
while(i < n)
{an = an + a;
a = a + d;
C = a + an;
i = i + 1;
}
printf("the total is %d",C);
return 0;
}本回答被网友采纳
相似回答