C语言程序设计CAP-第6章编程题-分解质因数

文章目录

即将上大学了,准备上一些先修课,翁恺老师的课感觉非常不错,我是一个初学者,有啥错误大佬们别打我。

依照学术诚信条款,我保证此作业是本人独立完成的,未完成该项作业的同学请完成后再来。

此编程题的题目如下 

简单解析一下

题目说的很明了了,废话不多说,先分析一下算法:如12除以第一个素数2得6,6除以第一个素数2得3,3为素数,即12=2x2x3;又如15能被第二个素数3整除为5,5为素数,所以15=3×5。我们不难发现只要一个数能被从2开始的某个素数整除,这个素数为分解质因数里的一个值,整除后的值循环反复,直到为素数时停止。

这部分代码可以这样写

可以发现的是,质因数全部被算出来了

可题目要求的是输出格式为n=axbxcxd或n=n,我们可以在%d前面或后面加个x,但按照这个程序来说,输出结果会变成x2x2x3或2x2x3x,很显然是不正确的,所以我们可以将第一个质数单独输出,或将最后一个单独输出。这里选择后者,经过调试后,我们不难发现,最后一个质数的结果就是最后的i的值

经过调整,程序可以改成这样

做到这应该发现了个问题,这个程序和第六章学习的内容没有半毛钱关系,所以我们可以强行做个函数

/*正确*/做法

代码可为

思考

发现程序更啰嗦了,或许我们可以整个头文件,眼不见为净,如图,建立个.h的文件

然后直接引用这个头文件

需要注意的是,对于引用自己的头文件,include后面应该用””而不是<>

/*结果*/PS

这个程序我写了两次,第一次真是又臭又长,不介意的话可以吐口痰再走

写的什么玩意儿!

原文链接:,转发请注明来源!

发表评论

  • 2 Responses to “C语言程序设计CAP-第6章编程题-分解质因数”