第七周作业

7-3 求交错序列前N项和

1.实验代码

#include<stdio.h>
int main()
{
    int i,n;
    double sum1=0,sum2=0;
    scanf("%d",&n);
    for(i=1;i<=n;i=i+1)
    {
        if(i%2==1)
        {
            sum1=sum1+1.0*i/(2.0*(i-1)+1);
        }
        if(i%2==0)
        {
            sum2=sum2+(-i)/(2.0*i-1);
        }
    }
    printf("%.3f",sum1+sum2);
    return 0;
}

2.设计思路

主要描述题目算法

第一步:定义i,n,sum1,sum2分别为循环变量,输入的正整数,奇数项和,偶数项和。

第二步:设置循环语句,运用if语句求和。

第三步:循环结束后输出算式的和。

流程图

3.本题调试过程碰到问题及解决方法

注:由于题目列表不同,图中显示7-2,实为同一道题。

 

由于if中等于打成了赋值,导致答案错误,改正后正确。

7-5 统计学生平均成绩及及格人数

1.实验代码

#include<stdio.h>
int main()
{
    int sum=0,i,n,num,count=0;
    float average;
    scanf("%d",&n);
    if(n>0)
    {
        for(i=0;i<n;i=i+1)
    {
     scanf("%d",&num);
     sum=sum+num;
     average=sum/(n*1.0f);
     if(num>=60)
     {
         count=count+1;
     }
}

     printf("average = %.1f\n",average);
     printf("count = %d",count);
}
     if(n==0)
     {
     printf("average = 0.0\n");
     printf("count = 0");
}
 } 

2.设计思路

主要描述题目算法

第一步:定义sum,i,n,num,count,average分别为成绩总和,循环变量,人数,单人成绩,及格人数,成绩均值。

第二步:输入人数,设置循环语句,用if语句求出及格人数和成绩均值。

第三步:循环结束后输出成绩均值和及格人数。

流程图

3.本题调试过程中碰到的问题及解决方法

开始完全没有考虑到有n=0的情况,格式方面也没有注意,导致答案出错,改成后正确。

我的git地址:https://coding.net/u/q807443119/p/zuoye/git

本周继续学习了循环语句,能力又得到了提高,但在做一些较复杂的题上面仍有很大的不足,无法很好地嵌套语句。

点评同学

班庆泽 http://www.cnblogs.com/wsbqz/p/7857944.html

郭钊毅 http://www.cnblogs.com/nothingistrue/p/7858481.html

丰大为 http://www.cnblogs.com/DavidPark/p/7846082.html

 

表格及流程图

 

posted @ 2017-11-19 00:15  顾家玮  阅读(177)  评论(2编辑  收藏  举报