解题思路:
1.通过遍历找出n(要判断的数)的所有非本身的因子i。例如n=6,则找出i为1,2,3
2、将找出的i先放入数组里面,同时将i累加起来记做k
3、比较k和n的值,如果相等,则break跳出循环输出
4、按照格式输出n,和i
注意事项:
1.注意将i放入数组的过程中要先把找出它对应的下标,即再写一个for循环找出下标
2.注意输出数组时用for循环遍历输出
参考代码:
#include<stdio.h>
int main()
{
int i,k=0,n,a[1001],j,sit;
scanf("%d",&n);
for(i=1,sit=0;i<n;i++){//遍历一遍,进入if语句的i值就是除了n本身的因数
if(n%i==0){
k+=i;//准备把找出的i值放入数组,即再写一个for循环找出下标
a[sit]=i;
sit++;//sit自增不能放入表达式三,放在这个位置可以保证每找一个非n因数i下标加一
}
if(k==n)
break;
}
printf("%d its factors are ",n);
for(j=0;j<=sit-1;j++){
printf("%d ",a[j]);//打印输出数组要用循环
}
return 0;
}
0.0分
1 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复