第二次博客作业
- 薄弱环节:
①对for,while语句的使用,经常搞错条件表达式和修正表达式,特别是好几个循环结构同时使用的时候如cpp5的7-3.
②函数的传值调用,经常脑子转不过来到底是谁等于谁。如cpp6的6-1的最大值函数重载
int myMax(int x,int y)
{
return ((x>y)?x:y);
}
int myMax(int x,int y,int z)
{
int t;
t=(x>y)?x:y;
t=(t>z)?t:z;
return t;
}
double myMax(double x,double y)
{
return ((x>y)?x:y);
}
其中关于myMAX函数里的传值调用错了很多次。
③符号粗心打错,就很难找出来了,中段测试的时候函数题就因为()用成【】错了
- 有挑战性的题目
统计学生平均成绩与及格人数
(1)题目大意:要求编写程序,计算学生们的平均成绩,并统计及格(成绩不低于60分)的人数。题目保证输入与输出均在整型范围内。
(2)解题思路:将学生成绩分为两种情况,定义一维数组利用不同情况的循环体系解决。
(3)代码思路:
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int N;
cin>>N;
if(N==0)
{
cout<<"average = 0.0"<<endl;
cout<<"count = 0"<<endl;
}
else {
double a[N];
int i,count=0;
for(i=0;i<N;i++)
{
cin>>a[i];
}
double average,sum=0;
for(i=0;i<N;i++)
{
sum+=a[i];
}
average=sum/N;
for(i=0;i<N;i++)
{
if (a[i]>=60) count=count+1;
}
cout<<"average"<<" "<<"= "<<fixed<<setprecision(1)<<average<<endl;
cout<<"count"<<" "<<"= "<<count;
}
return 0;
}
(4)核心技术总结:循环体系的使用,数组的应用结合数学思想
(5)遇到的问题:忽略当N=0的情况,循环体系条件错误,在某位神秘的陈姓同学的帮助下解决。