C语言——第七周作业

题目

题目一:求交错序列前N项和

1.实验代码

#include <stdio.h>
int main()
{
    int n , i , b ;
    double sum = 0 , a , c ;
    scanf("%d",&n);
    a = 1;
    b = 1;
    for( i = 1 ; i <= n ; i++)
    {
        c = a * i / b;
        sum += c;
        a = -a;
        b += 2;
    }
    printf("%.3f",sum);
}

2.设计思路

①算法

第一步:定义变量。

第二步:输入序列项的数目n。

第三步:使用循环语句,i的初始值为1,当i小于等于项数N时,循环继续,c = a * i / b (c为序列中每一项的值,a的值用来确定每一项的正负,i表示每一项的分子,b表示每一项的分母),sum = sum + c (计算序列和,sum初始值为1),a = -a(序列中奇数项为正,偶数项为负,a初始值为1),b = b + 2(相邻两项中,后一项比前一项大2,b初始值为1).

第四步:输出sum(即序列的前n项和)。

②流程图

 

 

3.本题未遇到问题

4.本题PTA提交列表

 

题目二:统计学生平均成绩及及格人数

1.实验代码

#include<stdio.h>
int main()
{
    int n , i , count = 0;
    int a[10001];
    double average , sum;
    scanf("%d",&n);
    for( i = 0 ; i < n ; i++)
    {
        scanf("%d",&a[i]);
        sum += a[i];
        if( a[i] >= 60)
        {
            count++;
        }
    }
    if(n>0)
    {
    average = sum / n;
    }
    printf("average = %.1f\n",average);
    printf("count = %d\n",count);
}

2.设计思路

①算法

第一步:定义变量。

第二步:输入学生人数n。

第三步:使用循环语句,i的初始值为0,当i < n时,循环继续,输入a[i](a[i]为学生的成绩组),sum = sum + a[i](sum为学生成绩之和)。

第四步:判断n > 0时(有学生存在),平均成绩 = 成绩总和 / 人数。

第五步:输出平均成绩和及格人数。

②流程图

 

 

3.本题调试过程所遇问题

思考不够全面,没有考虑到没有学生存在的情况。

截图

 

解决方法:在最后运算前补充一个选择结构,只有学生数大于0时才会有结果输出。

4.本题PTA提交列表截图

 

我的git地址:https://git.coding.net/dx200798/seventh.git

 项目截图

 

个人总结

本周学习内容: 

本周简单学习了数组,练习运用了三种循环语句。

疑点难点:

对循环语句的互相嵌套的应用还不够熟练。

 

互评和学习进度

互评链接

链接一:http://www.cnblogs.com/lixiaojing/p/7798963.html

链接二:http://www.cnblogs.com/phsudie/p/7837488.html

链接三:http://www.cnblogs.com/wxy5336/p/7828100.html

 

图表(修改)

 

 

posted on 2017-11-09 22:38  luuuuu  阅读(491)  评论(14编辑  收藏  举报