谭浩强第五版作为初学C语言必读的一本教材,课后习题具有非常大的参考价值,也是很多高校期末考试或者考研的重要参考。在这里我整理了一部分个人认为比较重要的编程题,供大家作参考
1.输入两个数,求他们的最大公约数和最小公倍数(最小公倍数等于两个数的乘积除上二者的最大公约数)
法一:递减法
法二:辗转相除法
辗转相除法的原理是用a除b,如果有余数,就把b赋给a,再把余数赋给b,当a除b余数为零的时候,此时的b就是二者的最大公约数,对于第一次除的时候谁做被除数是无所谓的,因为如果第一次a小于b,那么a除b的余数就是a,然后执行循环内部的操作把b赋给a,把余数赋给b,就变成了被除数大
2.计算a+aa+aaa+aaaa.....最后一项是n个a组成的数
本题关键在于如何产生每一个加数tmp。tmp=tmp*10+a即可。
3.计算1!+2!+....+10!
3.输出所有水仙花数。水仙花数指的是一个三位数,其各位数字立方和等于该数本身。
运行结果
4.如果一个数等于他的所有因子之和(因子包括1,但不包括这个数本身),这个数就被称为完数。找出1到1000内的所有完数。