第七周作业
7-3 求交错序列前N项和
代码
#include<stdio.h> int main() { int a,c; double b; scanf("%d",&c); for(a=1;a<=c;a++) { if(a%2==1) { b=b+a/(2.0*(a-1)+1); } else if(a%2==0) { b=b+(-a)/(2.0*a-1); } } printf("%.3lf",b); return 0; }
流程图
步骤
1.定义a,b,c,三个变量,其中a=1,b为单精度变量。
2.输入数值c,判断a是否小于等于c,若a>c,输出b。
3.判断a是否为偶数,若是则b=b+a/(2.0*(a-1)+1),若不是b=b+(-a)/(2.0*a-1)。结束后a+1。
4.判断a是否小于等于c,若a>c,输出b。
遇到的问题
过于纠结正负号问题结果写成a+2,导致四个一循环。
7-5 统计学生平均成绩与及格人数
代码
#include<stdio.h> int main() { int a,b,c,count=0,sum; double average; scanf("%d",&a); for(c=1;c<=a;c++) { scanf("\n %d",&b); sum=sum+b; average=sum/(a*1.0f); if(b>=60) { count=count+1; } } printf("average = %.1f\ncount = %d",average,count); return 0; }
流程图
步骤
1.定义六个变量,a,b,c,count,sum,average,其中average为单精度变量,c=1,count=0。
2.输入a,判断c是否小于等于a。
3.如果c小于等于a,计算sum和average,判断b是否大于等于60。
4.如果是,count+1,,如果不是,count不变。c+1,继续判断判断c是否小于等于a。
5.如果c大于a,输出count,average。
遇到的问题
写程序时输入写成scanf("%d\n %d",&a,&b);结果后续不能输入。改正时不小心删除了main。
GIT
git地址:https://git.coding.net/wuyaole/text4.git
本周收获
本周继续对循环结构进行复习,复习了while,do while,for的用法和break,continute。
图表
相互评论的地址
胡景文http://www.cnblogs.com/wshjw/p/7857999.html
郭钊毅http://www.cnblogs.com/nothingistrue/p/7858481.html
顾家玮http://www.cnblogs.com/qq807443119/p/7858503.html