Онлайн компилятор C

#include <stdio.h> int main() { int n; scanf("%d", &n); for(int i=1;i<=n;i++) { if(n%i==0) printf("%d",i); } return 0; }
这段代码的功能是:输入一个整数n,然后输出所有能整除n的正整数(即n的所有正因数),但这些因数会连续打印在一起,没有分隔符。

- 你的代码中,当找到因数时,`printf` 直接打印数字,没有添加空格或换行,导致输出结果连在一起难以阅读。可以考虑在打印每个因数后添加一个空格或换行。
- 另外,注意因数的顺序是从1到n依次检查,但通常因数会成对出现(比如i和n/i),你可以思考如何优化循环范围,比如只检查到n的平方根,但这不是必须的。