要求二
题目7-3 求交错序列前N项和
一,实验代码
#include<stdio.h>
int main(){
int i,N,flag=1;
double sum;
scanf("%d",&N);
sum=0;
for(i=1;i<=N;i++){
sum=sum+flag*i*1.0/(2*i-1);
flag=-flag;
}
printf("%.3f",sum);
return 0;
}
二,设计思路
1.根据题意,变量分别是整型变量i,N,flag(初始化),浮点型变量sum(前N项和)。
2.需要用到循环结构,循环体的计算公式为:sum=sum+flag*i*1.0/(2*i-1) , flag=-flag 。
3.输入数据,并进行判断,若i<=N,执行 sum=sum+flag*i*1.0/(2*i-1) , flag=-flag 循环。
4.计算后输出结果。
三,流程图
四,遇到的问题及解决方法
这道题上课的时候老师讲了类似的,看课件就可以了。
五,PTA提交列表
提交的时候错了没注意看,过了提交时间才发现的。
题目7-5统计学生平均成绩及及格人数
一,实验代码
#include<stdio.h>
int main(){
int n,i,a,count=0;
float sum=0,average;
scanf("%d",&n);
if(n<0)
return 0;
else if(n==0){
printf("average = %.1f\n",0.0);
printf("count = %d\n",0);
return 0;}
for(i=0;i<n;i++){
scanf("%d",&a);
if(a<0)
return 0;
else if(a>=0)
sum += a;
if(a>=60)
count++;}
average = sum/n;
printf("count = %d\n",count);
printf("average = %.1f\n",average);
return 0;
}
二,设计思路
1.定义变量,分别是整型变量n(学生人数),i,a(学生成绩),count(及格人数);浮点型变量sum(成绩总和),average(平均成绩)。
2.题中需用到判断和循环两种结构,if-else结构和for,循环体 scanf("%d",&a);sum+=a;if(a>=60) ,count++,其他计算公式:average=sum/n。
3.输入n和相应的学生成绩,判断:若n不等于0,且i<=n,则执行sum+=a,再进行判断,若a>=60,则执行count++,然后进行循环,循环结束后计算平均成绩;若n=0,则输出平均值等于0,及格人数为0。
4.输出计算结果。
三,流程图
四,遇到的问题及解决方法
觉得自己做的是对的但提交上去是部分错误,后来上课老师讲了之后加上了 n = 0 的情况应该就对了。
五,提交列表
要求三
上传文件截图
GIT地址
要求四
个人总结:
本周主要学习了循环结构,for,while,do-while,while是先判断再执行;do-while是先执行在判断,至少循环一次,for可以代替while,我自己认为最难得是怎么让循环结束,这部分知识掌握不是很清楚。
要求五
学习进度与互评
我评价的博客
胡俊鲜:http://www.cnblogs.com/123456hjx/p/7823616.html
林梦:http://www.cnblogs.com/lin2580/p/7841437.html
刘铭霞:http://www.cnblogs.com/19991001lmx/p/7840628.html
学习进度表格
日期 | 博客字数 | 时间一 | 代码行数 | 时间二 | 知识点 |
2017.11.17 | 约350 | 40分钟 | 140 | 五小时左右 | 三种循环 |
折线图