利用c语言数列求和
利用c语言数列求和
幻灯片42;
1.1编写程序,求下面数列前40项的和。结果取4位小数。1,1/2^4,1/3^4,1/4^4,……,1/n^4,…(其中,^ 表示幂运算)
#include /*#include 是C语言的预编译指令,表示包含stdio.h文件,s stdio.h文件中包含printf函数的说明*/
main() /*main表示主函数,每个C程序必须有一个main函数,函数体由大括弧括起来*/
{
int n; /*定义一个变量整形变量*/
double sum=0, j; /*定义两个double型变量,由于sum要做累加,所以赋初值为0,注意此处不能写成double float*/
for(n=1;n<=40;n++) /*这是一个循环语句for语句*/
{
j=n*n*n*n; /*此处是一个赋值语句,把每次求出的n的4次方的值赋给j
sum=sum+1/j; /*此处是一个累加求和并赋值的语句,求出的j值与上次保存的sum值累加后重新赋给sum* /
}
printf("%.4f",sum); /*输出变量sum的值,用%f表示输出实数,%.4f 表示整数部分全部如数输出,小数部分只输出4位小数*/
}
如果用while循环怎么做这个题
#include
main()
{
int n;
double sum=0,j;
n=1;
while (n<=40)
{
j=n*n*n*n;
sum=sum+1/j;
n=n+1;
}
printf("%.4f",sum);
}
如果用do--while循环怎么做这个题
#include
main()
{
int n;
double sum=0,j;
n=1;
do
{
j=n*n*n*n;
sum=sum+1/j;
n=n+1;
} while (n<=40);
printf("%.4f",sum);
}
1.2编写程序,求下面数列前50项的和。结果取4位小数。
1,-1/2^4,1/3^4,-1/4^4,……,(-1)^(n-1)/n^4,……(其中,^ 表示幂运算)
#include
main()
{ int sign=1; /*此处的sign代表数值的符号*/
double sum=1,j,n; /*此处sum赋值为1,也就是把数列第一项的值赋给sum*/
for(n=2;n<=50;n++) /*由于数列第一项的值已经赋给sum,i应该从2开始循环*/
{ sign=sign*(-1);
j=(1.0*sign)/(n*n*n*n); /*此处分子乘以1.0是把分子转化为实数,否则为整数除法,当分子小于分母时,商永远为0*/
sum=sum+j; /*累加*/
}
printf("%.4f\n",sum);
}
1.3编写程序,计算并输出下面数列中前n(设n=45)项的和。1*2,2*3,3*4,4*5,……,n*(n+1),……
#include
main()
{
int n;
int sum=0,j; /*因为sum要做累加,所以sum赋值为0 */
for(n=1;n<=45;n++) /*给n赋循环初值1*/
{
j= n*(n+1); /*每循环一次,求出一项数列的值,并赋给j*/
sum=sum+j; /*累加*/
}
printf("%d",sum); /*输出sum的值,此处的%d表示输出整数*/
}
1.4编写程序,计算并输出下面数列中前n(设n=45)项的偶数项的和。1*2,2*3,3*4,4*5,……,n*(n+1),……
#include
main()
{
int n;
int sum=0,j; /*因为sum要做累加,所以sum赋值为0 */
for(n=2;n<=45;n=n+2) /*由于要求偶数项的和,给i赋循环初值2,并且i每次加2*/
{
j= n*(n+1); /*每循环一次,求出一项数列的值,并赋给j*/
sum=sum+j; /*累加*/