点赞(0)
 

0.0分

311 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 135 条评论

向志权 1年前 回复TA
#include<stdio.h>
int main()
{
	int i,j,N,l;
	int sum=0,k=0;
	int x[100];
	scanf("%d",&N);
	for(i=1;i<=N;i++)
	{
		for(j=1;j<i;j++)
		{
			if(i%j==0)
			{
				sum+=j;
				x[k]=j;
				k++;
			}
		}
		if(sum==i)
		{
			printf("%d its factors are",i);
			for(l=0;l<k;l++)
			{
				printf(" %d",x[l]);
			}
			printf("\n");
		}
		sum=0;
		k=0;
	}
	return 0;
}
        我这个也可以
123456 1年前 回复TA
@杰尼杰尼 哪个符号定义重复了吧;
dotcpp0686717 1年前 回复TA
@程序员快龙 a[i]炸了
程序员快龙 1年前 回复TA
请大佬帮忙看一下,感觉思路都一样的不知道出错在哪里
我调试的结果:

6 its factors are 1 2 3
28 its factors are 1 2 4 7 14

问题在第三行没有出现
#include<stdio.h>
void main()
{
	int i,n,u,k;
	int a[15],m=0;
	scanf("%d",&n);
	for(u=1;u<=n;u++)
	{
		k=u;
		for(i=1;i<=u/2;i++)
		{
			if(u%i==0)
			{
				k=k-i;
				a[m]=i;
				m++;
			}
		}
		if(k==0)
		{
			printf("%d its factors are",u);
			for(i=0;i<m;i++)
				printf(" %d",a[i]);
			printf("\n");
		}
		m=0;
	}
}
爱吃西兰花 1年前 回复TA
#include<stdio.h>

int main(void)
{
   int N,n,sum,i,k,K;
   int a[]={0};
   
   scanf("%d",&N);
   printf("%d",N);
   for(n=1;n<N;n++)
   {
   	    
	   	sum=0;k=0;
	   	for(i=1;i<n;i++)
	   	{
		   if(n%i==0)
	   	   {
		   	    a[k++]=i;
		   	    sum=sum+i;
	       } 
	       K=k;  
		}
	   	if(sum==n)
	   	{
		   printf("%d its factors are ",n);
		   for (k=0;k<K;k++)
		   {
		    printf("%d ",a[k]);
		   }
		   printf("\n");
		   
	    }
	   
   }
   printf("%d ",n);
   return 0;
}

	
 为什么我这个输出6那个答案之后就结束循环了啊
喜欢吃东西的小东西 1年前 回复TA
@2340850104史凯 你把重置的那步删了,就知道为啥了
2340850104史凯 1年前 回复TA
为什么要重置,大佬我不懂
2340850104史凯 1年前 回复TA
@杰尼杰尼 你没有正确输出因子吧
黄小橘 1年前 回复TA
#include<stdio.h>
int main()
{
    int N;
    scanf("%d",&N);
    int i,j,k,tem,a[100];
    for(i=1;i<=N;i++)
    {
	    tem=0;
	    k=0;
    	for(j=1;j<i;j++)
    	{
    		if(i%j==0)
    		{
    		    tem=tem+j;
    		    a[k]=j;
    		    k++;
    		}
    	}
    	if(i==tem)
    	{
    		printf("%d its factors are ",i);
    		for(j=0;j<k;j++)
    		{
    			printf("%d",a[j]);
    		}
    	    printf("\n");
    	}
    }
    return 0;
}
杰尼杰尼 1年前 回复TA
大佬们帮我看看  答案正确  但就是通过不了 为啥啊
#include<stdio.h>
int main()
{
	int a,s,b;
	scanf("%d",&a);
	for(s=0,b=1;b<a;b++)
	{
		if(a%b==0)
		s=s+b;
	}
	if(s==a)
	{
		printf("%d its factors are ",a);
			for(s=0,b=1;b<a;b++)
			{
			if(a%b==0)
			printf("%d ",b);
			}
	}
}