第七周作业

题目7-3求交错序列前N项和
1.实验代码

#include
#include 
int main()
{
    int N,i;
    int a=1,b=1;
    double s=0;
    scanf("%d",&N);
    for(i=1;i<=N;i++)
    {s+=1.0*a/b*pow(-1,i+1);
    a++;
    b=2*a-1;}
    printf("%.3lf",s);
}

2.设计思路
(1)算法
一:定义变量N,i,a,b其中a,b分别为分子,分母变化的值,再定义结果s,因为需要循环,故先定义s=0,输入正整数N。
二:通过for循环结构来计算到N的序列的和,其中每次循环计算s通过-1的不同次幂来控制s的正负,每次循环a都会+1,b=2*a-1。
三:当i的值循环到N时结束循环,此时s的值符合题目,输出,%.3lf保留三位小数。
(2)流程图
第七周作业_第1张图片

3.问题
本题未遇到问题。
4.提交列表

题目7-5 统计学生平均成绩与及格人数
1.实验代码

#include
int main()
{
    int score,count,i,n;
    double total;
    total=0;
    count=0;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        scanf("%d",&score);
        total+=score;
        if(score>=60)
        {count++;}
    }
    if(n==0)
    {printf("average = 0.0\n");}
    else
    printf("average = %.1lf\n",total/n);
    printf("count = %d",count);
 } 

2.设计思路
(1)算法
一:定义变量score为输入时各位学生的成绩,count为输出时及格人数,total为成绩总数,i,n(学生人数)。total和count因之后需要通过循环取值,故起始定义为0,从0开始。
二:使用for循环,循环输入各个学生的成绩,每次循环都会将成绩加在一起,并且在每次输入的成绩大于等于60时将count加一,来计算及格人数。
三:当所有学生成绩输完,即循环结束时,得到最终的total值以及count值。
四:在输出时应注意,如果输入的n为0时,代表没有学生成绩需要统计,故输出平均值为零且不输出及格人数。如果n不等于零,则正常按格式输出。这里用到了之前学的if语句来分情况输出。输出中平均值为total/n(总成绩除以学生总数)。
(2)流程图
第七周作业_第2张图片

3.问题
没有想到没有学生时的情况,题目部分正确,通过错误提示改正。
第七周作业_第3张图片
4.提交列表

我的git地址: https://git.coding.net/ZJY15/ZJY15.git
上传截图

个人总结
本周主要学习和练习了循环的两种结构(for结构和while/do while结构)。个人感觉在循环具体结构上还不太熟练,应勤加练习。
互评与进度
第七周作业_第4张图片
互评:
赵寅胜 http://www.cnblogs.com/2017023960ZYS/p/7858338.html
徐铭博 http://www.cnblogs.com/xmb1547828350/p/7819731.html
丰大为 http://www.cnblogs.com/DavidPark/p/7846082.html

你可能感兴趣的:(第七周作业)