当前位置:首页 » 编程语言 » c语言计算数列1是什么
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言计算数列1是什么

发布时间: 2022-07-05 13:51:17

c语言计算数列1 - 1/3 + 1/5 - 1/7 + 1/9 - 1/11 + …的前n项之和

手边没有电脑,没法调试。代码逻辑看起来没什么问题,应该是对的。就是你这样用scanf不太好。标准输入始终都会有一个换行符,可能会导致输入的问题。
建议你加个getchar可以解决这个问题。
另外就是你的逻辑,感觉有点难理解,建议改为for(i=1;i<=n;i++)
if就可以写成i%2
你觉得呢?

② c语言:求数列:1,1+2,1+2+3,...,1+2+3+...+n 的前n项之和.(n从键盘输入)

#include<stdio.h>
intslSum(intn);//数列求和1+2+3...n返回和
intmain()
{
intn,i,sum=0;
printf("输入n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
sum=sum+slSum(i);
}
printf("%d项之和为:%d ",n,sum);
return0;
}
intslSum(intn)//数列求和1+2+3...n返回和
{
inti=1,sum=0;
for(i=1;i<n;i++)
{
sum=sum+i;
printf("%d+",i);
}
sum=sum+i;
printf("%d,",i);

returnsum;
}

③ c语言编程计算数列1/2,-2/3,3/5,-5/8,8/13,…的前20项和!!大神~~~求求求

// 求数列的前n项之和,数列初始元素为1/2
//下一元素的分子是上一元素的分母
//下一元素的分母是上一元素的分子分母绝对值之和
//偶数项为负,奇数项为正
double sum(unsigned int n)
{
int i = 0;
double sum = 0;
double numerator, denominator, tmp;
numerator = 1.0; //分子
denominator = 2.0; //分母
if (n <= 0)
return 0;
sum = 0.5; // 1/2 数列中第一个元素,分子为1, 分母为2
for (i = 1; i < n; ++i)
{
if (i % 2 == 0)
{
sum += denominator / (denominator + numerator);
}
else
{
sum -= denominator / (denominator + numerator);
}
// 计算数列中下个元素的分子分母,下一个元素的分子是上一个元素的分母
// 下一个元素的分母,是上一个元素的分子分母绝对值之和
tmp = denominator;
denominator += numerator;
numerator = tmp;
}
return sum;
}

④ 怎样用c语言函数的方法来编程:数列1,1,2,3,5,8……,求第20 项

基本是“斐波拉契数列”最原始的是0,1,1,2,3,……
从第3项后每项的值是前两项的和。
下面用函数的递归调用求第20项的值。
——————————————————————————
#include <stdio.h>
int sn(int n);
int main()
{
int n=20;
printf("s20=%d\n",sn(n));
getch();
return 0;
}
int sn(int n) /*定义的求第n项的函数*/
{
int s;
s=n>2?sn(n-1)+sn(n-2):(n>1?2:1); /*递归调用部分,重点在这*/
return s;
}

⑤ C语言如何输出数列1,1,2,2,3,3……求算法

for( int i = 1 ; i <= n ; i++ )
{
printf("%d,%d,",i,i) ;
}
这样可以吗

⑥ 求大神分析:C语言:求数列1!+3!+5!+7!+9!

1,for循环的使用,建议无论循环体有几句,都加上花括号,这是一个好习惯。

for()
{
for()
{
;
}
;
}


2,对于k的使用,需要注意,k存放的是j!的结果,因此在j改变之后,需要对k重新赋值。

修改后代码如下:

#include <stdio.h>
main()
{
int i,j,s,k;
s=1;k=1;
for(i=3;i<=5;i+=2)
{
k=1;
//每次计算j!时,k初始化为1,楼主原来只在最开始初始化k,最终导致结果超过int表示范围,而变成负数
for(j=2;j<=i;j++)
{
k=k*j;
}
s=s+k;
}
printf("%d",s);
}

⑦ c语言程序设计 计算数列1/2,2/3,3/5,5/8,8/13,……的前20项和。

#include<stdio.h>
int main()
{
int i;
double a=1.0,b=2.0;
double s=0;
for (i=1;i<=20;i++)
{
s+=t*a/b;
b=b+a;
a=b-a;
}
printf("%lf\n",s);
return 0;
}
———————————————————————————————
希望答案能帮到你,要是你有疑问可以追问
当然,采纳也是您的美德,谢谢

⑧ c语言计算数列1!2!3!4!前20项的和

#include<stdio.h>
#define MAX 20
int main()
{
int i,j,sum=0,jiecheng;
for(i=1;i<MAX+1;i++)
{
jiecheng=1;
for(j=1;j<i+1;j++)
{
jiecheng=jiecheng*j;
}
sum=sum+jiecheng;
}
printf("%d\n",sum);
return 0;
}

⑨ 求数列1,1,2,3,5……前20项的和,用C语言编写

哦,这是求Fibonacci数列前20项的和
楼上的方法没错,只是算法有些复杂,下面的算法就可以解决这个问题
#include
"stdio.h"
#include
"conio.h"
main()
{
int
temp1=1;
int
temp2=1;
int
temp3=0;
int
sum=temp1+temp2;
for(int
i=1;i<=20;i++)
{
temp3=temp2+temp1;
sum+=temp3;
temp2=temp3;
temp1=temp2;
}
printf("sum=%d",sum);
getch();
}