点赞(0)
 

0.0分

311 人评分

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

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

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

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

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

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

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

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

评论列表 共有 135 条评论

gone 1月前 回复TA
#include<stdio.h>
int main()
{
    int n;
    scanf("%d",&n);
    for(int i=2; i<=n; i++)
    {
        int sum=0;
        for(int j=1; j<i; j++)
        {
            if(i%j==0)
            {
                sum+=j;
            }
        }
        if(sum==i)
        {
            printf("%d its factors are",i);
            for(int k=1; k<i; k++)
            {
                if(i%k==0)
                {
                    printf("%d ",k);
                }
            }
              printf("\n");
        }
    }
    return 0;
}
哪里错了?
晚风 2月前 回复TA
@晚风 作者11行为什么要用k++
晚风 2月前 回复TA
@晚风 解决了
晚风 2月前 回复TA
输入后只输出换行,不知道哪错了

#include<stdio.h>
#define max 1001
int main()
{
	int a,b,d,e=0,k,h;
	int yin[max];
	scanf("%d",&a);
	for(b=1;b<=a;b++){
		d=0;k=0;
		for(d=1;d<b;d++){
			if(b%d==0){
				e+=d;
				yin[k++]=d;
			}
		}
		if(e==b)
		{
			printf("%d its factors are",e);
			for(h=0;h<k;h++){
				printf(" %d",yin[h]);
			}
				printf("\n");
		}
		
	}
	return 0;
}
爱老虎油 2月前 回复TA
@爱老虎油 @dotcpp0799097 谢谢大佬,已经解决了
霍晨硕 2月前 回复TA
@爱老虎油 可能是d<=a?应该改成d<=b才对
爱老虎油 3月前 回复TA
大佬们哪里错了,谢谢
#include<stdio.h>
int main()
{
    int a,d,b;
    scanf("%d",&a);
    for ( b =1;b <= a;b++)
    {
        int c=0;
        for ( d=1 ;d <= a;d++)
        {   
            if (d % b == 0)
            {
                c += b;
            }
        }
                if (d == c)
                {
                    printf("%d\n", c);
                }
       
    }
    return 0;
}
dotcpp0782798 4月前 回复TA
@luliju hh他这都能说我错。。。#include <stdio.h>    int main()  {     int n;     printf("请输入一个正整数:\n");     scanf("%d", &n);     for (int j = 2; j <= n; j++)     {         int sum = 0;         for (int i = 1; i <= j / 2; i++)         {             if (j % i == 0)             {                 sum = sum + i;             }         }         if (j == sum)         {                         printf("%d its factors are  ",sum);             for (int i = 1; i <= sum/ 2; i++)             {                 if (sum % i == 0)                 {                     printf(" %d ", i);                 }             }             printf("\n");          }     }          return 0; }
luliju 7月前 回复TA
为毛跑得出来说我格式错误
#include<stdio.h>
int main()
{
    int i, j,m, n = 0, sum = 0;
    scanf_s("%d",&m);
    for (n = 1; n <=m; n++) 
    {
        sum = 0;
        for (i = 1; i < n; i++)
        {
            if (n % i == 0)
            {
                sum += i;
            }
        }

        if (sum == n)
        {

            printf("\n%d its factors are ", n);
            for (j = 1; j < n; j++)
            {
                if (n % j == 0)
                    printf("%d ", j);
            }
        }
    }

    return 0;
}
luliju 7月前 回复TA
@本山锅锅 #include<stdio.h> //**第六章(1017)完数的判断**// /* 一个数如果恰好等于不包含它本身所有因子之和,这个数就称为"完数"。 例如,6的因子为1、2、3,而6=1+2+3,因此6是"完数"。 编程序找出N之内的所有完数,并按下面格式输出其因子*/ //N //? its factors are ? ? ?   int main() {     int i, j,m, n = 0, sum = 0;     scanf("%d",&m);     for (n = 1; n <=m; n++) // 假定在1到1000之间寻找     {         sum = 0;          for (i = 1; i < n; i++)         {             if (n % i == 0)             {                 sum += i;             }         }          if (sum == n)         {              printf("\n%d its factors are ", n);             for (j = 1; j < n; j++)             {                 if (n % j == 0)                     printf("%d ", j);             }         }     }      return 0; }