C语言求亲密数 函数方法
答案:2 悬赏:80 手机版
解决时间 2021-04-27 13:13
- 提问者网友:缘字诀
- 2021-04-26 17:25
C语言求亲密数 函数方法
最佳答案
- 五星知识达人网友:野味小生
- 2021-04-26 18:59
#include
int main()
{
int a,b,n;
int facsum(int n,int *a,int *b);
printf("There are following friendly--numbers pair smaller than 500:\n");
for(a=1;a<500;a++)
{
n=facsum(n,&a,&b);
if(n==a&&a<=b)
printf("%4dand%d\n",a,b);
}
}
int facsum(int n,int *a,int *b)
{
int i;
for(*b=0,i=1;i<=*a/2;i++)
if(!(*a%i))
*b+=i;
for(n=0,i=1;i<=*b/2;i++)
if(!(*b%i))
n+=i;
return n;
}
呵呵,楼主,你还是多看看函数的用法吧,先理清逻辑。
int main()
{
int a,b,n;
int facsum(int n,int *a,int *b);
printf("There are following friendly--numbers pair smaller than 500:\n");
for(a=1;a<500;a++)
{
n=facsum(n,&a,&b);
if(n==a&&a<=b)
printf("%4dand%d\n",a,b);
}
}
int facsum(int n,int *a,int *b)
{
int i;
for(*b=0,i=1;i<=*a/2;i++)
if(!(*a%i))
*b+=i;
for(n=0,i=1;i<=*b/2;i++)
if(!(*b%i))
n+=i;
return n;
}
呵呵,楼主,你还是多看看函数的用法吧,先理清逻辑。
全部回答
- 1楼网友:琴狂剑也妄
- 2021-04-26 19:56
定义要和声明一样,而且要传地址不要传值
声明如下
int facsum(int &n,int &a,int &b);<=====你这里少了;号
定义如下
int facsum(int &n,int &a,int &b)
{
........
}
声明如下
int facsum(int &n,int &a,int &b);<=====你这里少了;号
定义如下
int facsum(int &n,int &a,int &b)
{
........
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯