点赞(0)
 

0.0分

311 人评分

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

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

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

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

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

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

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

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

评论列表 共有 135 条评论

Ediosn 2年前 回复TA
#include<stdio.h>
 int wansu(int x);
 void display (int x);
 int main()
{
 	int x,ad;
 	scanf("%d",&x);
 	for(ad=2;ad<=x;ad++)
 	{
 		if(wansu(ad))
 		{
 			display (ad); 
		}
	}
	return 0;
}
int wansu(int x)//判断是否为完数 
{
	int id,sum;
	for(id=1,sum=0;id<=(x/2);id++)
	{
		if(x%id==0)
		{
			sum=sum+id;
		}
	}
	if(sum==x) return 1;
	else return 0;
}
void display (int x)
{
	int id;
	printf("%d its factors are ",x);
	for(id=1;id<=(x/2);id++)
	{
		if(x%id==0)
		{
			printf("%d ",id);
		}
	}
	printf("\n");
}
kioo 2年前 回复TA
#include<stdio.h>
#include<math.h>
#include<string.h>
int main()
{
  int n;
  scanf("%d",&n);
  int i,j,k;
  int a[100];
  int sum=0;
  int count=0;
  for(i=2;i<=n;i++){
    for(j=1;j<i;j++){
       if(i%j==0){
       sum=sum+j;
      // printf("%d ",sum);
      a[count]=j;
      count++;
       }

    }if(sum==i){printf("%d its factors are ",i);
    for(k=0;k<count;k++){
        printf("%d ",a[k]);
    }
    printf("\n");
    }
    sum=0;
    count=0;
  }

}
瓜瓜 2年前 回复TA
#include <stdio.h>

//求完数,即A%B=0
int main(void)
{
	//第一步先求出这个数的因子
	int n;
	int arr[] = {0};
	scanf("%d", &n);
	for (int i = 1; i <= n; i++)
	{
		int temp = 0;//temp为各因子之和
		int k = 0;
		//内循环求因子
		for (int j = 1; j<i; j++)
		{
			if (i % j == 0)
			{
				temp += j;
				arr[k]=j;//求出每个因子放在数组arr[]中
				k++;
			}
		}
		//判断是否为完数
		if(temp==i)
		{
			printf("%d its factors are", i);
			for (int x = 0; x< k; x++)
			{
				printf(" %d", arr[x]);
			}
			printf("\n");
		}

	}
	return 0;
}

答案为0 不知道是为啥啊
李淳罡 2年前 回复TA
@格温之死 #include<stdio.h> void factor(int i) { 	int n,k; 	for(n=1;n<i;n++){ 		k=i%n; 		if(k==0){ 			printf("%d ",n); 		} 	} 	printf("
"); }  int main() { 	int n=6,i,k,j,sum; 	scanf("%d",&n); 	for(i=2;i<=n;i++){ 		sum=0; 		for(k=1;k<i;k++){ 			j=i%k; 			if(j==0){ 				sum+=k; 			}	     		} 		if(sum==i){ 		    	printf("%d its factors are ",i); 		    	factor(i); 			} 		 	} 	 	return 0; }
龙Time 2年前 回复TA
#include<stdio.h>
int main()
{
    int a,b,count=0,N;
    scanf("%d",&N);
    for(a=2;a<=N;a++){
        for(b=1;b<=(a/2);b++)
        {
        if(a%b==0)
        count+=b;
    }
    if(count==a)
    {
        printf("%d its factors are",a);
    for(b=1;b<=(a/2);b++){
        if(a%b==0)
        printf(" %d",b);
    }
    printf("\n");
       }
       count=0;
          }
}
Superkom66 2年前 回复TA
#include<stdio.h>
int main()
{
    int a;
    int  num=0;
    scanf("%d",&a);
    
    for(int i=1;i<a;i++)
    {
        int num =0;
        for(int j=1;j<i;j++)
        {            if(i%j==0)
            num+=j;
            if(i==num)
            printf("%d\n",i);
        }
    }
    return 0;
}
各位大佬,为什么我在内层循环里面加了两个花括号会显示输出超限???
择梦息 2年前 回复TA
#include<stdio.h>
void sss(int a)  //求因数 
{
	
	int i,j,sum;
	sum=0;
	for(i=1;i<a;i++)
	{
		if(a%i==0)
	     {
	     	j=i;
	     	sum+=j;  //求完数 
	     }
	}
	if(sum==a)
	{
	     printf("%d its factors are ",a);
	     for(i=1;i<a;i++)
	     {
	     	 if(a%i==0)
	         printf("%d ",i);
	     }
	     printf("\n");
	    
    }
	 
}
int main()
{
	int n,i;
	scanf("%d",&n);
	for(i=1;i<n;i++)
		sss(i);
		return 0;
	
}
小李子 2年前 回复TA
为啥我进入死循环了呢,一直显示6那行
0205李少明19 2年前 回复TA
@暗中讨饭 l=0;l<k;l++这个是k-1个的,可能我不太理解你说的什莫意思
暗中讨饭 2年前 回复TA
@暗中讨饭 @luokeli 哈哈哈哈又回到原点,所以楼主的代码k++从0到k不是k+1个值吗,那为什么l从0到k-1一共k个值了?