将三个整数按从大到小输出
题目:写一个代码将三个整数按从大到小输出。
思路:我们可以先假设一个数为最大,设它为max,拿另外两个数与max比较,若小于max,则另外两个之间按照上面那个思路来比较;若大于max,则那个大于它的数代替它成为max,剩下的还是按照上面那个思路来比较。
代码实现:
其实这个方法和C语言练习day1的那个有序序列合并的有点类似。
三角形判断
题目:
思路:首先,我们要判断三条边能否能组成三角形,其次再判断三角形的类型。组成三角形的条件是任意两边之和大于第三边,等边三角形是三边相等,等腰三角形是任意两边相等且不等于第三边,其余就是普通三角形。
代码实现:
注意的是:等边的判断要在等腰之前,不然就会判断错误。因为等腰包含等边,所以就要在等腰内排除等边。
分数求和
题目:计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值,打印出结果。
思路:我们可以观察的出分子永远保持1不变,分目是1~100的增加,并且是正负号交替出现。
分母可以用for循环生成1~100之间的数字,至于正负号,我们可以定义一个flag来表示。
代码实现:
上面代码注释部分要注意一下,尤其是浮点数除法,不记得的朋友们,可以去看我前面发的C语言数据类型和变量(下) ,还有就是那个flag可以自己随便改成什么都行,例如a,b......
数9的个数
题目:编写程序数一下 1到 100 的所有整数中出现多少个数字9。
这个题目的意思是1~100的数字中有几个数字是包含9这个元素的。例如9 19.....这些就是个位和十位哪个位含有9,含有就记下来。
思路:首先,肯定要有1~100之间的数字,用for循环来产生,1~100之间的数字,我们可以分为两类:小于10和大于10的数。(我们以后在写题目的时候,如果遇到这种有关个位,十位,百位这种的话,基本上就是分为上面两种情况来分类讨论。而且最终还是要转换为个位。)小于10的数字里头就只有一个9,而大于10的数字包括个位9和十位9,那就分开来判断。
代码实现:
至于代码中的count只是一个计数工具而已,你想它是a也可以。
打印闰年
题目:打印1000年到2000年之间的闰年。
思路:既然要打印1000~2000之间的闰年,那就必须先要生成1000~2000之间的数字,利用for循环即可。其次,就是我们要知道闰年怎么判断?有两个方法:能被4整除且不能被100整除或者能被400整除。
代码演示:
求最大值
题目:求10 个整数中最大值。
思路:这十个数字肯定是我们自己输入,那就要写输入函数,这十个数最好放在一个数组里面,这个其实和我在C语言练习day1里的有序合并的那个方法恒很类似。都是先假设一个数为最大,即max,然后让其它数与它进行比较,如果大于它,则那个数成为max,以此类推直至这里面全部的数都比较过。我们可以简单理解为从10个人里选出1个人为最强,而这时已经有人夺得了这个第一名,其他人不服就去争抢这个第一名,直至最后那个人赢了,那么就是他最厉害。那么怎么实现呢?我们用一个循环来实现它们之间的PK就可以了。
代码演示: