你算哪个bug


私信TA

用户名:qiao

访问量:41372

签 名:

请一定不要停下来成为你想成为的人鸭!

等  级
排  名 57
经  验 10579
参赛次数 4
文章发表 46
年  龄 20
在职情况 学生
学  校
专  业 计网

  自我简介:

在最好的年龄成为一个优秀的人,是最美的成长了

 

0.0分

349 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区

为什么非得用两个循环啊?
#include<stdio.h>
#define max 1001
int main(){
    int n,i,j,a[max],l;
    int tem=0,k=0;
    scanf("%d",&n);
        for(j=1; j<n; j++) {
            if(n%j==0) {//满足条件 
                tem+=j;//储存因子之和 
                a[k++]=j;//储存因子 
            }
        }
        if(tem==n) {//满足条件 格式输出 
            printf("%d its factors are ",tem);
            for(l=0;l<k;l++){
                printf(" %d",a[l]);
            }
            printf("\n");
        }
    return 0;
}
2022-11-17 19:09:09
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("\n");
		}
	}
      return 0;
为什么我的代码是错的?
2022-11-17 14:22:29
为啥这个不能运行求解
#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;
}
2022-11-13 14:57:32
可是题目不是没有说n是小于1000的呀,为什么数组要设在1001捏,如果要求输入超过1000的咋办
2022-11-05 21:03:03
哪位兄弟帮我指正一下,为什么我这个结果输出里面会多出一个24啊,
#include <stdio.h>
int main()
{
    int N,i,j,k;
    scanf("%d",&N);
    for(i=1;i<=N;i++)
    {
        int sum=0;
        for(j=1;j<i;j++)
    {
        if(i%j==0)
    {
        sum=sum+j;
        if(sum==i&&sum!=1)
    {
        printf("%d ",sum);
        printf("its factors are ");
        for(k=1;k<=sum;k++)
    {
        if(sum%k==0)printf("%d ",k);
    }
        printf("\n");
    }
    }
    }
    }
    return 0;
}
2022-10-19 22:14:50
#include <stdio.h>
#include <math.h>
int main()
{
    int n,j,i;
    scanf("%d",&n); 
    for(i=1;i<=n;i++)            
	{	int a[i],k=0,sum=0;
		for(j=1;j<i;j++)
			if(i%j==0)
			{
				a[k++]=j;
				sum+=j;
			}
		if(sum==i)
		{
			printf("%d its factors are",i);
			for(j=0;j<k;j++)
				printf(" %d",a[j]);
			printf("\n");
		}
	}            
    return 0;
 }
我擦思路一模一样
2022-10-03 23:55:43
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
int main()
{
    int n,j,i,a[1001]={0};
    while(scanf("%d",&n)!=EOF)
    {
         printf("%d its factors are 1",n);
        for(i=2;i<n/2+1;i++)
        {
            for(j=i+1;j<n;j++)
            {
                if(i*j==n)
                    {a[i]=i;
                    a[j]=j;}

            }
        }
            for(i=0;i<n;i++)
            {
                if(a[i]!=0)
                    printf(" %d",a[i]);
            }
        printf("\n");
      for(i=0;i<n;i++)
        a[i]=0;
    }
    re数都对。
2022-07-12 09:17:34
兄弟,你再试着输入一下大于6的值,你会发现结果一直是 6 its factors are 1 2 3。所以你这是因为6之前没有合适的值,穷举出来的等于是。
2022-07-08 20:30:09