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
图表(修改)