第三次编程总结

作业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)运行结果截图:

猜你喜欢

转载自www.cnblogs.com/ck11-06/p/10673271.html