7-3
#include<stdio.h> int main() { double i=1.0; int N; int flag=1; double sum=0.0; scanf("%d",&N); for(i = 1.0;i <= N;i++){ sum = sum+flag*i/(2.0*i-1.0); flag=-flag;} printf("%.3f",sum); return 0; }
2.设计思路:第一步:定义i,N,flag,sum,输入正整数N
第二步:设置循环条件,I<=N,且每循环一次N++
第三步:循环内计算每项的和,flag控制正负
第四步:输出最终和的值
流程图:
3.碰到问题:
遇到问题:在dev上运行正确,在pta上答案错误
解决办法:原来flag忘了定义1这个值,导致结果错误,失去了它的作用
4.
调试多次发现上述错误
7-5
#include <stdio.h> int main() { int count=0; int N,i=1; float sum=0.0,average=0.0; double grade=0.0; scanf("%d",&N); if(N==0){ printf("average = 0.0 "); printf("count = 0");} else{for(i=1;i<=N;i++){ scanf("%lf",&grade); sum=sum+grade; average=sum/N; if(grade>=60){ count++;} } printf("average = %.1f ",average); printf("count = %d",count);} return 0; }
设计思路:第一步:定义及格人数count,整数N,及i,grade,sum,average等值,输入整数N
第二步:判断N是否为0,不为0则进入循环,条件i<=N
第三步:循环内输入学生成绩,求和,求平均值,若grade>=60,则count人数加1
第四步:结束循环最终输出average,count
流程图:
3.碰到问题:
碰到问题:输出不了正确答案,无法输入数字
解决办法:仔细看问题,发现在循环之前忘记输入多少个学生整数N了,比较尴尬
4.
基本没有编译错误的情况,总是不注意细节,不符合题目要求
要求四:
地址:https://coding.net/u/asdfg145632/p/a7/git
要求五:个人总结:
1.本周学习了用while,do...while,for三种循环语句解决问题,学习了点语句镶套,循环与if语句连用等
2.目前仍存在编码不熟练,以及解题思路不清晰的问题,编码想办法符合题目要求也是难点
要求六:http://www.cnblogs.com/lxT-1234/p/7846271.html
http://www.cnblogs.com/simalang/p/7846102.html