<一>求交错序列前N项和
#include<stdio.h> #include<math.h> int main() { int i,a=1,N; float x,n,sum=0.0; scanf("%d",&N); for(i=1;i<=N;i=i+1) { a=a+1; x=pow(-1,a); n=x*i/(2*i-1); sum=sum+n; } printf("%.3f",sum); }
设计思路:
1.定义变量N(前N项),i,a为整型,定义变量x,n(每一项的值),sum(前N项的和)为浮点型。
2.用for循环语句,当i<=N时结束循环,对n、sum赋值。
3.按照题目要求输出。
流程图:
本题调试过程碰到问题及解决办法:无。
<二>统计学生平均成绩及及格人数
#include<stdio.h> int main() { int N,grade,i; int number=0; float average=0.0,total; scanf("%d",&N); for(i=0;i<N;i++) { scanf("%d",&grade); total=total+grade; if(grade>=60) { number=number+1; } }if(N>0) { average=total/N;} printf("average = %.1f\ncount = %d",average,number); }
设计思路:
1.定义N(学生人数),grade(学生成绩),number(及格人数)为整数型变量。定义total(学生总成绩),average(学生平均成绩)为浮点型变量。
2.输入N(学生人数),用for循环语句按照N(学生人数)输入成绩。用if语句判断grade是否大于等于60。对total、number、average赋值。
3.按照题目要求输出。
流程图:
本题调试过程碰到问题:
解决办法:答案错误发现自己将成绩低于60分的人数统计出来了,题目要求是统计成绩大于60分的人数,修改之后部分正确,看了错误提示,发现自己没有考虑当学生人数为0的情况,加上if语句判断N是否大于0后,答案正确。
Git地址:https://coding.net/u/FENGZX/p/PTA/git
图表:
个人总结:
本周学习内容:本周复习、练习了三种循环语句。写了老师布置的PTA作业和c题库。
疑点难点:PAT作业越来越难了,对于循环不够熟练,像for语句老是运行超时。
我点评的人:董雅洁:http://www.cnblogs.com/exo123/p/7828105.html
董欣:http://www.cnblogs.com/dx2017/p/7809786.html
李晓静:http://www.cnblogs.com/lixiaojing/p/7814024.html