点赞(0)
 

0.0分

311 人评分

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

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

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

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

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

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

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

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

评论列表 共有 135 条评论

2年前 回复TA
@小歪歪 int i; 	int j; 	int k; 	int a[1000]; 	int l=0; 	scanf("%d", &j); 	for (i = 1; i <= j; i++) 	{ 		int sum = 0; 		int n = 0; 		for (k = 1; k <= i; k++) 		{ 			if (i % k == 0) 			{ 				a[n++] = k; 				sum = sum + k; 			} 		} 		if (sum == i) 		{ 			printf("%d its factor are ",i); 			for (l=0;l < n;l++) 			{ 				printf("%d", a[l]); 			} 			printf("
"); 		} 	}                                  为什么我的代码是错的?
顾自 2年前 回复TA
为啥这个不能运行求解
#include <stdio.h>
int main()
{
	int a=0,n=0,x=1,i=1,c=0,sum=0;
	int str[40]; 
	scanf("%d",&n);
	for(x=1;x<n;x++)
	{	
		
		for(i=1;i<x;i++)
		{
			while(x%i==0)
			{	
				str[c]=i;//将因子放入数组 
				c++;
				break;}//获取数组的大小 
		a=c;
		}   
		for(i=0;i<a;i++)//用循环将因子个数相加得到为sum 
      	{
		  sum+=str[i];
	 	}
	    if(x==sum)//判断n是否为完数 
		{	printf("%d its factors are ",x);
			for(i=0;i<a;i++)//循环输入因子 
      		{printf(" %d",str[i]);}	
			  printf("\n");	
 	    }
 	    sum=0;
		 c=0;
			
	}
	return 0;
}
顾自 2年前 回复TA
@周五 为啥我这个编码不能运行#include <stdio.h> int main() { 	int a=0,n=0,x=1,i=1,c=0,sum=0; 	int str[40];  	scanf("%d",&n); 	for(x=1;x<n;x++) 	{	 		 		for(i=1;i<x;i++) 		{ 			while(x%i==0) 			{	 				str[c]=i;//将因子放入数组  				c++; 				break;}//获取数组的大小  		a=c; 		}    		for(i=0;i<a;i++)//用循环将因子个数相加得到为sum        	{ 		  sum+=str[i]; 	 	} 	    if(x==sum)//判断n是否为完数  		{	printf("%d its factors are ",x); 			for(i=0;i<a;i++)//循环输入因子        		{printf(" %d",str[i]);}	 			  printf("
");	  	    }  	    sum=0; 		 c=0; 			 	} 	return 0; }
周五 2年前 回复TA
@周五 没事了我眼花了,我懂了
周五 2年前 回复TA
可是题目不是没有说n是小于1000的呀,为什么数组要设在1001捏,如果要求输入超过1000的咋办
IAN 2年前 回复TA
@IAN @uq_37579840303 那就包含这个数本身了,就不能符合完数了
洛顾劢 2年前 回复TA
@IAN 为什么后面两个for循环不能是j小于等于i
梯田 2年前 回复TA
@子菲瑜 //每次开始新一轮的内循环之前重置数组a[max]={0}就好了
IAN 2年前 回复TA
@IAN 嗯,我已经解决了。
mrbidor 2年前 回复TA
@IAN 你这个是每加一个因数就判断因数和与原数是否相等,判断24的时候,因数到了8就和原数相等了,直接就输出了