| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 594 人关注过本帖
标题:这个求解“完数”的代码错误在哪里呢?
只看楼主 加入收藏
胡振杰
Rank: 2
等 级:论坛游民
帖 子:41
专家分:63
注 册:2012-9-14
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:8 
这个求解“完数”的代码错误在哪里呢?
程序代码:
#include "stdio.h"
void main()
{
    int i,j,n;
    printf("1至1000之间的完数是:\n");
    j=0;
    for(i=2;i<=1000;i++)
    { int perfect(int n);
      n=perfect(i);
      if(n>0)
      {printf("\n%5d=",i);
       for(j=1;j<i;j++)
       {if(i%j==0)
         {if(j>1) printf("+");
          printf("%5d",j);
          }
        }
      }
     }
    getch();
    }
    int perfect(int n);
    {
      int i,sum;

      sum=0;
      for(i=1;i<n;i++)
      {
        if(n%i==0)
          sum+=i;
       }

     if(sum==n) return sum;

     return 0;
     }
2012-09-22 10:12
胡振杰
Rank: 2
等 级:论坛游民
帖 子:41
专家分:63
注 册:2012-9-14
收藏
得分:0 
程序代码:
#include "stdio.h"
void main()
{
    int i,j,n;
    printf("1至1000之间的完数是:\n");
    j=0;
    for(i=2;i<=1000;i++)
    {
      if((n=perfect(i))>0)
      {printf("\n%5d=",i);
       for(j=1;j<i;j++)
       {if(i%j==0)
         {if(j>1) printf("+");
          printf("%5d",j);
          }
        }
      }
     }
    getch();
    }
    int perfect(int n);
    {
      int i,sum;

      sum=0;
      for(i=1;i<n;i++)
      {
        if(n%i==0)
          sum+=i;
       }

     if(sum==n) return sum;

     return 0;
     }
这样子为什么还是有错误呢?到底该怎么改呢?
2012-09-22 10:18
胡振杰
Rank: 2
等 级:论坛游民
帖 子:41
专家分:63
注 册:2012-9-14
收藏
得分:0 
求解啊。。。。
2012-09-22 10:38
QQ007977
Rank: 2
等 级:论坛游民
帖 子:29
专家分:43
注 册:2012-9-9
收藏
得分:5 
#include<stdlib.h>
#include "stdio.h"
int main()
{
    int i,j,n;
    j=0;
    printf("1至1000之间的完数是:\n");
    for(i=2;i<=1000;i++)
    {
      if((n=perfect(i))>0)
      {printf("\n%d=",i);
       for(j=1;j<i;j++)
       {if(i%j==0)
         {if(j>1) printf("+");
          printf("%d",j);
          }
        }
      }
     }
     printf("\n");
     system("pause");
    }
int perfect(int n)
{
      int i,sum;
      sum=0;
      for(i=1;i<n;i++)
      {
        if(n%i==0)
          sum+=i;
       }
     if(sum==n) return sum;
     return 0;
     }
2012-09-22 10:57
QQ007977
Rank: 2
等 级:论坛游民
帖 子:29
专家分:43
注 册:2012-9-9
收藏
得分:3 
不需要用getch();来输出,int perfect(int n);多了分号
2012-09-22 10:59
胡振杰
Rank: 2
等 级:论坛游民
帖 子:41
专家分:63
注 册:2012-9-14
收藏
得分:0 
四楼的。。那个,为什么还是不对???

2012-09-22 12:08
胡振杰
Rank: 2
等 级:论坛游民
帖 子:41
专家分:63
注 册:2012-9-14
收藏
得分:0 
回复 4楼 QQ007977
不对诶、、、、、
2012-09-22 12:08
sala0127
Rank: 2
等 级:论坛游民
帖 子:56
专家分:52
注 册:2011-11-8
收藏
得分:2 
爪机上看,没运行。思路没觉得有问题,除了函数定义那多了一个分号外看不出又什么错
2012-09-22 12:50
胡振杰
Rank: 2
等 级:论坛游民
帖 子:41
专家分:63
注 册:2012-9-14
收藏
得分:0 
嗯嗯。。。谢谢各位,现在已经好了。。。哈哈。。真的很感谢诶。。。
2012-09-22 14:21
快速回复:这个求解“完数”的代码错误在哪里呢?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026997 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved