1.本题要求编写程序,计算序列 1 + 1/2 + 1/3 + ... 的前N项之和。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后6位。题目保证计算结果不超过双精度范围。
#include<stdio.h>
int main()
{
double sum=0;
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++){
sum=sum+1.0/i;
}
printf("sum = %f",sum);
return 0;
}
2.本题要求编写程序,计算序列 1 + 1/3 + 1/5 + ... 的前N项之和。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后6位。题目保证计算结果不超过双精度范围。
#include<stdio.h>
int main()
{
int N;
scanf("%d",&N);
double sum;
for(int i=1;i<=2*N;i+=2){
sum = sum+1.0/i;
}
printf("sum = %.6f",sum);
return 0;
}
3.本题要求编写程序,计算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N项之和。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后三位。题目保证计算结果不超过双精度范围。
#include<stdio.h>
int main()
{
int N,a,flag=-1;
scanf("%d",&N);
double sum;
for(int i=1;i<=N;i=i+1)
{
a=3*i-2;
flag=-flag;
sum=sum+flag*1.0/a;
}
printf("sum = %.3f",sum);
return 0;
}
4.本题要求编写程序,计算平方根序列根号1+根号2+根号3+⋯的前N项之和。可包含头文件math.h
,并调用sqrt
函数求平方根。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后两位。题目保证计算结果不超过双精度范围。
#include<stdio.h>
#include<math.h>
int main()
{
int N;
double sum;
scanf("%d",&N);
for(int i=1;i<=N;i++)
{
sum=sum+sqrt(i);
}
printf("sum = %.2f",sum);
return 0;
}
5.本题要求编写程序,计算序列 1!+2!+3!+⋯ 的前N项之和。
输入格式:
输入在一行中给出一个不超过12的正整数N。
输出格式:
在一行中输出整数结果。
#include<stdio.h>
//先算单个阶乘
double factorial(int n)
{
double sum=1;
for(int a=1;a<=n;a++)
{
sum=sum*a;
}
return sum;
}
int main()
{
int N,result=0,i;
scanf("%d",&N);
if(N<=12)
{
for(i=1;i<=N;i++)
{
result=result+factorial(i);
}
}
printf("%d",result);
return 0;
}