***PTA***
7-3 求交错序列前N项和
1.实验代码
#include<stdio.h> int main() { int N,i=1,c; float S,n,a,b; S=0; a=1;b=1,c=1; scanf("%d",&N); while(i<=N) { n=a/b; S=(float)S+n*c; a=a+1.0f; b=b+2.0f; i++; c=c*(-1); } printf("%.3f",S); return 0; }
2 设计思路
第一步:先定义个每个变量,设定i=1,最后输出的和s=0,分母a=1,分子b=1,每项前的正负符号为c。n=a/b。
第二步:当i<=N时,循环s=s+n*c,每循环一次,a=a+1,b=b+1,c=c*(-1)。
第三步:循环结束,输出最终结果s。
3.流程图
4.问题及解决办法
此题在解决过程中没有遇到问题,好久没遇到的一次过的情况。
7-5 统计学生平均成绩及及格人数
1.实验代码
#include<stdio.h> int main() { double average,s; int count,N,i,g; scanf("%d",&N); for(i=0,s=0,count=0;i<N;i++) { scanf("%d",&g); if(g>=60) { count++; } s=s+g; average=s/N; } printf("average = %.1f ",average); printf("count = %d",count); return 0; }
2 设计思路
第一步:定义各变量,输入N;i,s,count的初始值都为0。
第二步:当i<N时,输入成绩g,当g>=60时,及格人数count+1。总成绩s=s+g。成绩均值average=s/N。
第三步:输出结果。
3.流程图
4.问题及解决办法
我觉得一层的循环结构还是很简单的,这道题和上一道一样,也是一次过。
***git***
地址:https://coding.net/u/kimhae/p/test/git
***学习总结***
对我来说一层的循环语句还是很简单的。如果有好几层循环,就是说循环里有循环的那种代码,我还是要看很长时间,才能看懂。
点评:
http://www.cnblogs.com/jz19990201/p/7857799.html