C语言“完数”代码讲解
1、首先打开CodeBlocks,创建一个新项目。
项目语言,选择“c”, 我们将项目名称命名为“WanNumber”,
然后下一步,“finish”。
2、创建好项目后,我们打开 “main.c”文件。
在这里我们先分析一下题目。
一个数如果等于他所有因子之和 称为完数 如6的因子 1,2,3 6=1+2+3输出1000内的完数,并且打印出因子 6 is factors are 1,2,3
3、首先思考程序 循环查找1000内的数, 对每一个数进行完数判断 是完数 则打印,非完数则继续循环。
*本次我们使用 自定义函数的知识来完成。
4、开始我们先写出大的框架。
在main中,定义相关变量,并写出循环框架。
这个循环语句,就是查找1000内的每一个数的。
*其中难懂的是
rember变量用来存取通过函数判断出来的完数,
m是打印特定语句的变量
这些在后面就能明白了
5、写完大框架,接下来需要判断完数的方法,我们在main上面声明一个factor函数,其返回值为整型,需要两个参数。
接下来 在最后面 定义 factor函数。
6、参数中的n就是第i个数(就是()内的变量)
result就是因数之和
这里m应该就清楚它的作用了,它是决定要不要打印以下语句的变量。
7、进一步完善函数内容
for循环主要目的就是 检索n的每一个因数
循环完毕后result就是因子之和
最后函数的返回值是result 也就是因数之和
8、再回到main中,我们开始补充for循环。
每次开始先为rember初始化,rember就是i的因数之和
判断i与rember是否相等,相等即i是完数。
同时m允许打印相关的 文本话语
再次执行factor() 是为了将每个因子分别打印出来
9、回到 factor函数中 再次补全,打印语句。
用来打印好完数的每一个因子。
注意红框内的语句写的位置
10、一下就是 所有代码。
我们运行看看结果。
1000内只有3个完数 6,28,496
还是挺高效的