/题目:将一个正整数分解质因数。例如:输入90,打印出90=2335。程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于(小于的时候,继续执行循环)n,则说明分解质因数的过程已经结束,另外 打印出即可。 (2)但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n.重复执行第二步。 (3)如果n不能被k整除,则用k+1作为k的值,重复
/*水仙花数 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数, 其各位数字立方和等于该数 本身。例如:153是一个"水仙花数", 因为153=1的三次方+5的三次方+3的三次方。程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。*/#include <stdio.h> int main() { int i,x,y,z; for(i=100;
通过学习质数函数了解了++i和i++的区别。++i效率更高。i++是先用临时对象保存原来的对象,然后对原对象自增,再返回临时对象,不能作为左值;++i是直接对于原对象进行自增,然后返回原对象的引用,可以作为左值。由于要生成临时对象,i++需要调用两次拷贝构造函数与析构函数(将原对象赋给临时对象一次,临时对象以值传递方式返回一次);++i由于不用生成临时变量,且以引用方式返回,故没有构造与析构的开销
回文函数,学习到了strlen()函数在获取数组时是从str[1]开始计算的,要想从str[1]开始需要-1;#include <stdio.h> #include <string.h> int main() { int i,j,n; char str[80];//存储字符串 printf("请输入字符串:\n"); gets(str);//从输入读取字符串,并赋值给数组
今天通过兔子生崽问题学习到了递归函数,一个函数在它的函数体内调用它自身称为递归调用,这种函数称为递归函数。执行递归函数将反复调用其自身,每调用一次就进入新的一层,当最内层的函数执行完毕后,再一层一层地由里到外退出。代码如下(阶乘)#include <stdio.h> //求n的阶乘 long factorial(int n) { if (n == 0 || n == 1) {
定时器影子寄存器的作用,可以在突然改变时钟分频系数的时候,先执行完前一个系数,然后再执行下一个时钟分频系数的程序
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号