今天是培训第三天了,天气微凉,前路茫茫
上午老师带领我们复习了for循环,虽然仍是一知半解,但比起昨天清晰了不少
以下是对for循环的一些体会:
①表达式2一定要明确地限定范围,否则会陷入死循环
②与昨天相同,仍要注意if的条件后不加“;”,“;”在此独立成集,代表一个空集(值?(空集?这是数学?))
今天也进一步了解了while循环,while循环的大致步骤为:给定一个限定的条件,若满足条件,开始运算“{}”中的内容,运算后检验是否满足限定条件。若满足,重复以上步骤;若不满足,结束循环
相较于for循环,while循环在思路上更加清晰,但在步骤上较复杂
下午继续练习了for循环的相关题目,略有长进(希望吧),总之一句话,想做对题目,必须熟练掌握for循环
以下是一些有难度、需要加强(或需注意)的题目:
①累乘:和昨天同样的提醒,看题目要看完、看仔细,尤其要注意注释,累乘的积可以很大,因此要用long long
1 #include<iostream> 2 using namespace std; 3 int main() 4 { 5 int a,b; 6 long long sum=1; 7 cin>>a>>b; 8 if(a<=b) 9 { 10 for(int i=a;i<=b;i++) sum*=i; 11 cout<<sum<<endl; 12 } 13 else cout<<0<<endl; 14 return 0; 15 }
②求平均值:解此题需灵活掌握for循环。另外,对题目的理解是关键,通过理解循环的定义及算法从而解题,以下是对部分解题过程的理解:当n=0时,x为初值2,此时满足x!=0,则输入x开始运算,此时n加一,代表输入一个正整数,以此类推,直至输入x=0,不满足限定条件,退出循环,按下面的步骤继续运算
1 #include<iostream> 2 #include<iomanip> 3 using namespace std; 4 int main() 5 { 6 int x=2,sum=0,n=0; 7 for(n=0;x!=0;n++) 8 { 9 cin>>x; 10 sum=sum+x; 11 } 12 cout<<setiosflags(ios::fixed)<<setprecision(1); 13 cout<<1.0*sum/(n-1)<<endl; 14 return 0; 15 }
今天发现自己对循环的掌握还不够,尤其是对未知数位的数的循环运算,以后要加强
明天就要考试了……
愿你所有的努力都被世界温柔以待
加油!共勉!