Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 显示给定整数的因子?_C - Fatal编程技术网

C 显示给定整数的因子?

C 显示给定整数的因子?,c,C,我正在使用代码: #include<stdio.h> int main() { int n,i; printf("enter an integer value:"); scanf("%d",&n); if(n!=0) { for(i=1;i<=n;i++) { if(n%i==0) { printf("%d "

我正在使用代码:

#include<stdio.h>

int main()
{

     int n,i;
     printf("enter an integer value:");
     scanf("%d",&n);
     if(n!=0)
     {
      for(i=1;i<=n;i++)
       {
           if(n%i==0)
             {
                 printf("%d ",i);
             }
       }
      }
}
#包括
int main()
{
int n,i;
printf(“输入整数值:”);
scanf(“%d”和“&n”);
如果(n!=0)
{

对于(i=1;i你的代码是完美的,因为我认为你错过了一些东西

#include <stdio.h>
int main()
{
 int n,i;
 printf("enter an integer value:");
 scanf("%d",&n);
if(n!=0)
 {
  for(i=1;i<=n;i++)
   {
       if(n%i==0)
         {
             printf("%d ",i);
         }
   }
  }
return 0;
}
#包括
int main()
{
int n,i;
printf(“输入整数值:”);
scanf(“%d”和“&n”);
如果(n!=0)
{

对于(i=1;i我认为您的错误与代码无关

我运行了代码,没有收到任何错误:

输入

输出


该代码运行良好,我建议您使用

for(i=1;i*i<n;i++)

for(i=1;i*i你能给我们看一下确切的错误消息吗?@Beta啊,是的,我试图编辑它,但另一次编辑正在等待。请提供错误消息(或屏幕截图)。我们无法重现错误。如果您使用硬编码值而不是扫描标准输入,该怎么办?如果您省略
printf
语句该怎么办?如果给定输入:6,则显示为1 2 3 6。但实际输出为1 2 3 6。他实际上应该将其更改为
i*i
,这将导致O(logn)复杂度,而不是O(n)@Marian我不认为该条件会导致所有因素。例如,对于testcase 50,您的条件将导致1 2和5,而所需的输出为1 2 5 10 25您每次迭代得到两个因素,例如2和25、5和10等。您是对的,正在考虑它,将编辑答案。谢谢:)
enter an integer value:1 2 3 4 6 9 12 18 36
for(i=1;i*i<n;i++)
for(i=1;i<=n;i++)