解题思路:
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分
2 人评分
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:598 |
C语言训练-最大数问题 (C语言代码).........关于-1浏览:742 |
C语言程序设计教程(第三版)课后习题10.4 (C语言代码)浏览:585 |
九宫重排 (C++代码)浏览:2160 |
C语言训练-计算t=1+1/2+1/3+...+1/n (C语言代码)浏览:859 |
C语言程序设计教程(第三版)课后习题9.8 (Java代码)浏览:1636 |
C语言程序设计教程(第三版)课后习题10.7 (C语言代码)浏览:538 |
简单的a+b (C语言代码)浏览:597 |
简单的a+b (C语言代码)浏览:596 |
C语言训练-数字母 (C语言代码)浏览:600 |