作业1:
本题要求编写程序,计算序列 1 + 1/2 + 1/3 + ... 的前N项之和。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后6位。题目保证计算结果不超过双精度范围。
输入样例:
6
输出样例:
sum = 2.450000
1)实验代码:
#include<stdio.h>
int main ()
{
int denominator,flag,i,n;
double item,sum;
scanf("%d",&n);
flag=1;
denominator=1;
sum=0;
for(i=1;i<=n;i++)
{
item=flag*1.0/denominator;
sum=sum+item;
denominator=denominator+1;
}
printf("sum = %.6f\n",sum);
return 0;
}
2)设计思路:
第一步:先定义整数型变量denominator,flag,i,n和小数型变量item,sum。
第二步:给循环前变量赋予初始值。
第三步:进入循环,代入函数公式,分母每循环一次都加一个1。
第四步:跳出循环,得出结果。
3).本题调试过程碰到的问题以及解决办法:
int mian后面没加括号。
4)运行结果截图:
作业2:
本题要求编写程序,计算序列 1 + 1/3 + 1/5 + ... 的前N项之和。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后6位。题目保证计算结果不超过双精度范围。
输入样例:
23
输出样例:
sum = 2.549541
1)实验代码:
#include<stdio.h>
int main ()
{
int denominator,flag,i,n;
double item,sum;
scanf("%d",&n);
flag=1;
denominator=1;
sum=0;
for(i=1;i<=n;i++)
{
item=flag*1.0/denominator;
sum=sum+item;
denominator=denominator+2;
}
printf("sum = %.6f\n",sum);
return 0;
}
2)设计思路:
第一步:先定义整数型变量denominator,flag,i,n和小数型变量item,sum。
第二步:给循环前变量赋予初始值。
第三步:进入循环,代入函数公式,分母每循环一次都加一个2.
第四步:得出结果,跳出循环。
3)调试过程中遇到的问题:无
4)运行结果截图:
作业3:
本题要求编写程序,计算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N项之和。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后三位。题目保证计算结果不超过双精度范围。
输入样例:
10
输出样例:
sum = 0.819
1)实验代码:
#include<stdio.h>
int main ()
{
int denominator,flag,i,n;
double item,sum;
scanf("%d",&n);
flag=1;
denominator=1;
sum=0;
for(i=1;i<=n;i++)
{
item=flag*1.0/denominator;
sum=sum+item;
flag=-flag;
denominator=denominator+3;
}
printf("sum = %.3f\n",sum);
return 0;
}
2)设计思路:
第一步:先定义整数型变量denominator,flag,i,n和小数型变量item,sum。
第二步:给循环前变量赋予初始值。
第三步:进入循环,代入函数公式中,由于每次循环都会发生符号改变,所以令flag=-flag来改变运算符号,依题意,分母每次都要+3,也就是令denominator=denominator+3。
第四步:得出结果,跳出循环。
3)本次代码一次过。
4)运行结果截图: