题目是输出1000以内具有12个以上因子的整数,输出它的因子。

img


程序我只会写一半,后面的输出其各自的因子不会写了

我改了一下,适合你这个场景:



#include <stdio.h>
int main(void){
    int a[50],n,i,j,k;
    for(i=30;i<1001;i++){
        for(n=0,k=i>>1,j=2;j<=k;j++)
            if(i%j==0)
                a[n++]=j;
        if(n>11)
        {
            printf("%d: %-4d",i,1);
            for(j=0;j<n;printf("%-4d",a[j++]));
            printf("\n");
        }
    }
    return 0;
}

参考这篇:


如有帮助,欢迎采纳哈!

再重复执行遍历 i 的因子,每次遇到一个因子就输出,然后输出换行进入下一循环


```c
for (int j=2;j<=i;j++){
    if (i%j==0){
        printf("%d ", j);
    }
}
printf("\n");

```