标题:关于函数名带来的问题
只看楼主
小星在北方
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2020-11-16
结帖率:66.67%
已结贴  问题点数:20 回复次数:6 
关于函数名带来的问题
#include<stdio.h>
int Facsum(int n)
 {
    int sum = 0;
    for (int i = 1; i < n; i++ )
    {
        if ( n % i == 0 )
        sum += i;
    }
    return sum;
  }
   
   
int main()
{
    int i, flag=0, m, n, sum1;
        scanf("%d%d", &m, &n);
    for (i = m; i <= n ;i++)
    {
        sum1 = Facsum(i);
          if (i == Facsum(sum1) && i < sum1)
          {
            printf("%d %d\n",i,sum1); flag++;
        }
    }
    if ( flag == 0) printf("No answer");
    return 0;
}

我把函数名大写F改成小写f就对了,不知道为什么,还请大家能为我指指错误
搜索更多相关主题的帖子: flag 函数 int printf sum 
2020-11-16 15:39
lin5161678
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:45
帖 子:1136
专家分:3729
注 册:2011-12-3
得分:10 
标识符区分大小学 应该在学声明变量的时候就强调过了

https://zh.
2020-11-16 15:45
风过无痕1989
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:8
帖 子:228
专家分:1050
注 册:2020-7-17
得分:10 
回复 楼主 小星在北方
函数名无论是大写还是小写,只要在整个程序中能够统一,就是没有问题的。

如果方便的话,能不能将程序的功能透露一下?

你的程序,我运行都是一个输出:No answer,我的输入是:21 99
2020-11-16 20:54
小星在北方
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2020-11-16
得分:0 
回复 3楼 风过无痕1989
输入两个正整数m和n,顺序输出m到n之间的所有友好数对。
如果两个整数的所有正因子之和(包括1,不包括自身)等于对方,就称这对数是友好的。例如:1184和1210是友好数对,因为
1184的因子之和为1+2+4+8+16+32+37+74+148+296+592=1210
1210的因子之和为1+2+5+10+11+22+55+110+121+242+605=1184
要求程序定义一个facsum ()函数和一个main()函数,facsum ()函数计算并返回n的所有正因子之和,其余功能在main()函数中实现。
int facsum (int n)
{
//计算n的所有正因子之和sum,本函数返回sum
}
2020-11-17 13:24
小星在北方
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2020-11-16
得分:0 
以下是引用小星在北方在2020-11-17 13:24:56的发言:

输入两个正整数m和n,顺序输出m到n之间的所有友好数对。
如果两个整数的所有正因子之和(包括1,不包括自身)等于对方,就称这对数是友好的。例如:1184和1210是友好数对,因为
1184的因子之和为1+2+4+8+16+32+37+74+148+296+592=1210
1210的因子之和为1+2+5+10+11+22+55+110+121+242+605=1184
要求程序定义一个facsum ()函数和一个main()函数,facsum ()函数计算并返回n的所有正因子之和,其余功能在main()函数中实现。
int facsum (int n)
{
//计算n的所有正因子之和sum,本函数返回sum
}

2020-11-17 13:37
小星在北方
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2020-11-16
得分:0 
回复 2楼 lin5161678
谢谢谢谢
2020-11-17 13:42
风过无痕1989
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:8
帖 子:228
专家分:1050
注 册:2020-7-17
得分:0 
回复 5楼 小星在北方
程序代码:
#include<stdio.h>
int Facsum(int n)
{
    int i, sum = 0;
    for (i = 1;i < n;i++)
    {
        if (n % i == 0)sum += i;
    }
    return sum;
}
int main()
{
    int m, n, i, flag = 0, sum = 0;
    scanf("%d%d", &m, &n);
    for (i = m;i <= n;i++)
    {
        sum = Facsum(i);
        if (Facsum(sum) == i && sum > i)
        {
            flag = 1;
            printf("%d %d\n", i, sum);
        }
    }
    if (flag == 0)
        printf("No answer\n");
    return 0;
}
2020-11-17 17:35



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-503909-1-1.html




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

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