您的位置:首页 > 其它

第七周作业

2017-11-18 09:53 204 查看

要求一:

完成PTA中题目集名为《usth-C语言基础-第七周作业》和《usth-C语言基础-12周PTA作业》中的所有题目。

(1)《usth-C语言基础-第七周作业》的截图



(2)《usth-C语言基础-12周PTA作业》的截图



备注:单选题虽然是零分,但是我已做完,只是不正确。

要求二:

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

1.实验代码

#include <stdio.h>
#include <math.h>
int main()
{
int n,a=1,b=1,i=1;
double sum=0.0;
scanf("%d",&n);
while(i<=n){
sum=sum+1.0*a/b*pow((-1),i+1);
i++;
a=a+1;
b=b+2;
}
printf("%.3lf",sum);
return 0;
}

2 设计思路

(1)算法

第一步:把n,a,b,i设置为整形变量,且a=1,b=1,i=1。其中n为你输入的正整数,a为分子,b为分母,i为循环计数;

第二步:把得到的和sum设置为浮点形变量;

第三步:输入正整数n;

第四步:写循环语句:

当i<=n是进入循环,计算sum=sum+a/b*pow((-1),i+1),期间i每循环一次加一,依题得,分子每次都加一,分母每次都加二,因此a每循环一次加一,b每循环一次加二;

第五步:输出sum的值。

注意:(1)输出sum的值要保留三位小数;(2)本题是减加减加循环,所以我用的方法是pow((-1),i+1),就是(-1)的i+1次方。

(2)流程图



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

错误:段错误



解决办法:经过查看,输入少写了&符号,改正即可。

4.本题PTA提交列表



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

1.实验代码

#include <stdio.h>
int main()
{
int a,b,c,sum,d;
float average;
c = 1;
d = 0;
sum = 0;
scanf("%d",&a);
if(a != 0)
{
while(c <= a)
{
scanf("%d",&b);
if(b >= 60)
{
d = d +1;
}
else if(b < 60)
{
d = d + 0;
}
sum = sum + b;
c = c + 1;
}
average = (sum + 0.05) / a;
}
else if(a == 0)
{
average = 0;
d = 0;
}
printf("average = %.1f\ncount = %d",average,d);
}

2 设计思路

(1)算法

第一步:把输入成绩的个数 a,学生成绩b,循环次数c,成绩总和sum,及格人数d设置为整形变量;

第二步:把学生成绩的平均数average设置为浮点形变量;

第三步:输入学生成绩的个数a;

第四步:判断语句:

判断a是否为零,若不为零,进入循环语句,若为零,则平均值,及格人数都为零;

第五步:循环语句(其中还有一个判断语句):

判断c是否小于等于a,若成立进入循环。输入学生成绩b,判断学生成绩是否大于等于60,若是,则及格人数d加一,若不是,则及格人数d加零,之后再计算成绩的总和,循环计数c再加上一;

第六步:如果a不等于零的循环结束,跳出循环求平均值average;

第七步:输出学生成绩平均值和学生成绩及格的人数。

注意:average = (sum + 0.05) / a,中加0.05是为了四舍五入,为什么加0.05而不是0.5呢,是因为加0.05是为了在小数点后一位精确,而不是在个位。

(2)流程图



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

错误:部分正确。





解决办法:分析题目结果和错误提示发现,错误在没有四舍五入,而第二个错误也在四舍五入出了问题,应把小数点后一位根据第二位四舍五入,而不是对个位数四舍五入。

4.本题PTA提交列表



要求三:

(1)Git地址:https://git.coding.net/jsjyuyaosong/usth--work.c.git

(2)上传截图



要求四:

作业互评

吴晓明:http://www.cnblogs.com/gu-an-cheng-wxm/p/7850962.html

孙铭婧:http://www.cnblogs.com/sun031915/p/7845595.html#3843670

王姝雯:http://www.cnblogs.com/phsudie/p/7837488.html

要求五:

个人总结

(1)①本周你学习了哪些内容?②收获了什么?

①本周我学习了循环语句,while,do...while,for,还有类似多重循环的东西。②收获了这些循环知识点。

(2)①本周所学内容中你觉得哪些是难点?②有哪些知识点还不明白?

①我认为循环语句的框架不是难点,而分析题目是难点。②依题目做题我认为很困难,而其核心在于分析,所以我要多训练,多巩固与总结。

要求六:

学习进度表与折线图



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: