1. c语言编程:求数列的累加和
#include<stdio.h>
#define N 100
int main()
{
int n;
float sum=0,i;
printf("输入n的值:");
scanf("%d",&n);
for(i=1;i<=n;i++)
sum=i/(n-i+1);
printf("%f",sum);
return 0;
}
2. C语言问题,数列求和:计算从m到n的和。
int sum( int m, int n)
{
int i = m;
int sum = m;
if ( m > n )
{
printf( "\n A mistake: m = %d > n = %d \n", m, n);
return;
}
else
{
while ( i < n )
{
i++;
sum += i;
}
}
return sum;
}
3. C语言编程数列求和
这是c语言的语法啊 sum += double(b) / a 等同于 sum = sum + double(b) / a
右边的sum表示变量sum的地址 因为在等号的左边所以也称作左值
所以是把 sum的值加上 转换成double类型的b和a的商 储存于 sum变量的地址中
明白了吗?
4. C语言数列求和
intmain()
{
doublex,sum,jd,xf=1,i=1,jc=-1,m;
scanf("%lf",&x);
sum=0;
do
{
jc=-jc*i;
xf*=x;
m=xf/jc;
jd=fabs(m);
sum=sum+m;
i++;
}
while(jd>0.00001);
printf("sum=%.2f",sum);
return0;
}
有两点错误:
1、do-while之间没有{},加上即可;
2、jc没有赋初始值,在for循环前(do-while内)应加上jc=1;
另:上面代码为我作的小小修改(稍微提高一点效率)
5. c语言数列求和:求1-2/3+3/5-4/7+5/9-6/11+...的前n项和,结果保留3位小数
i/deno只有当i
=
1
deno
=
1,i/deno
=
1,
其他情况得0,因为"/"对于int型数据来说,除后取整操作,即10/9=1.111111......,那么实际结果为1,小数点后的全部丢弃(不是四舍五入,而是全舍)
要想得到你要的结果应该这样
1.0
*
i
/
deno
//1.0是double型的,与i相乘还得double型的,这样就能出正确结果
或
((double)
i
)
/
deno
6. 用c语言给数列:1,1,2,3,5,8…求和
#include <stdio.h>
#include <math.h>
int main() {
int array[41];
int i;
array[1] = 1;
array[2] = 1;
for(i=3;i<=40;i++) {
array[i] = array[i-1] + array[i-2];
}
printf("%d ", array[40]);
return 0;
}
7. 问个C语言题目
这尖有规律的数列求和问题在等级考试二级C机试中大量出现,解决它的关键在于找出求和的各个元素之间的规律!!!
本题各元素的规律是:
下一个元素=当前元素*10+a,其在程序中的实现就是两条语句(tn=tn+a;和a=a*10;)!!!这就是乘10的用途
知道各元素间递推关系并对应为C循环体中语句后,再在循环体中加累加求和语句:sn=sn+tn;
掌握了以上关键之后,此类题的其它注意问题就是:
1.通过一层FOR循环实现算法!
2.注意元素及累加结果变量的初值
3.一定最后要检查程序中第一、二次循环及最后一次循环对应的元素及和是否符合题目要求!
另:++i; 在这条语句里没有区别!因为它并没和其它子表达式构成复合表达式!当和其它子表达构成复合表达式时,如x=i++; 这时,i++是先计算整体表达式的值,再对i加1,所以先算x=i,之后才给i加1;而x=++i; 则相反,先计算i=i+1,然后再用新的i值计算x=i!
8. C语言数列的求和1-1/2+1/3-1/4.......的编写
你的程序和题目是两码事。
先抛开题目,说说你程序的问题。
1、a=pow(-1,y),对于给定的n,则a的正负是一定的,起不到改变正负号的作用。
2、for循环需要用大括号括起来。
3、其它不再赘述,下面是具体修改的方法。
修改:
#include<stdio.h>
#include<math.h> //没有必要加载
int main()
{
double n,i,sum,y,a=1; //对a赋初值1,不需要变量y
while(scanf("%lf",&n)!=EOF)
{
sum = 0;
for(i=1;i<=n;i++)
{ //增加大括号
//y = n+1;//此句删除
//a = pow(-1,y);//此句删除
sum = sum+(1.0/i*a);
a=-a;//增加此句
}//增加大括号
printf("%.2lf\n",sum);
}
return 0;
}
再说题目。如果原题确实如你所写,那么应该是一直加下去,而不是让你输入项数。程序如下:
#include <stdio.h>
int main()
{
double i,s=0,a=1;
for(i=1;1/i>=1e-6;i++)
{s+=a/i;a=-a;}
printf("s=%f",s);
return 0;
}
9. c语言数列求和
#include <stdio.h>
main()
{
float sum;
int i, j=1, k=2;
for(i = 1; i <= 20; i++) {
printf("%d %d\n", j, k);
sum = 1.0 * j / k;
k += j;
j = k - j;
}
printf("前20项数列和是: %f\n", sum);
}
10. C语言数列求和问题
while(i<=n)之前
Sn没有清0i清1