学习总结

1.知识总结
循环包括while循环,for循环,do-while循环,一般知道循环次数用for循环,不知道循环次数用while循环,至少循环一次用do-while循环。注意:循环变量可充当一般变量时,循环变量的变化是唯一的.给和变量定义sum=0等时要作用重复累加的上一条。
2.解决问题
数据求和,求一个数的位数,分离出每个数,并逆序输出:用while(a!=0) {a/=10, b++,for(int i=1;i<=b;i++)}
{q=pow(10,b-i); v=c/q;c=c-v*q;}
这样就可以分离并算出几位数了。还可以用循环表示出各种的图形例如矩形,菱形,三角形等,最主要的是找规律,例如矩形的那个题空心的时候是(i=1||j=1||i=m||j=n)i和j为行和列,m和n为高和宽,还有粘墙三角形的那个题:我是先考虑的空格,第一行与字母之间有四个空格,第二行有三个,
这样考虑到用for循环然后{if(i!=n) cout<<“a”<<setw(n-i)<<" ";来表示,之后观察到第一行有一个字母,第几行就有几个字母,于是用{for(int j=1;j<=i;j++) c=j+96,cout<<c},来表示。还可以用循环来求最小公倍数或最大公约数,最大公约数可以用辗转相除法也可以用简单点的来求比如最大公约数一定小于等于两个数的最小数,然后两个数必须都得同时整除它,因此可以用{while(m%a!=0||n%a!=0) a–},来表示。只要符合最大公约数就会跳出循环然后输出的就是最大公约数了。最小公倍数也可以这样做。余数相同的那个问题同时有很多组数据来验证,必须要用while(cin>>a>>b>>c)。还有解决一组数的最大值的问题,这个我先定义max=0,然后用循环 for(int i=0;i<=n;i++)
{cin>>b; if(b>max) max=b}这样就可以输出最大值,求最小值也同样先定义min然后for循环 {if(b<min)min=b}。
3.感想
循环这个地方的知识我学的还是不是很好,做题不是很顺利,而且我一点也不会做那些应用型的题目,例如津津的储蓄计划,金币那种题,根本一点思路也没有,所以对于这个我很是头疼。通过我做的那几个图形的题目,我知道做那种题最主要的就是找好规律,矩形的对角线的只要用嵌套循环然后((ij||i+jn+1))找出这样的规律这个题就很简单了。然而对于那些应用类的题目我不知道该如何下手,知道要求什么但是就是写不出来,思路没有,所以我会多看多做那种题,并且老师发的那个C语言的经典算法我每天都在看然后理解那种题应该怎样做。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值