鱼C论坛

 找回密码
 立即注册
查看: 1795|回复: 8

程序员女妹子求助!

[复制链接]
发表于 2014-4-28 16:25:11 | 显示全部楼层 |阅读模式
1鱼币
//写两个函数,分别求两个证书的最大公约数和最小公倍数,用主函数调用两个函数并输出结果
每次写个简单的程序都会出错!!气死了,下面这个程序运行不了不知道为什么。。。
#include<iostream>
using namespace std ;
void main()
{
        int hcf(int , int ) ;//最大公约数
        int lcd(int , int , int) ; //最小公倍数
        int m , n , h , l ;
        cout << "please input two data:" << endl ;
        cin >> m >> n ;
        //cout << m << n ;
        h = hcf(m , n ) ;
        l = lcd(m , n , h) ;
        cout << h << l << endl ;

}       
int hcf(int m , int n )
{
        int t ;
        if(m < n)
        {
                t = m ;
                m = n ;
                n = t ;
        }
        int r ;
        while((r = m % n ) != 0)
        {
                m = n ;
                n = r ;
        }
        return (r) ;
}
int lcd(int m , int n , int r)
{

        return (m * n / r) ;
}

最佳答案

查看完整内容

你好,又是我。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-4-28 16:25:12 | 显示全部楼层
你好,又是我。
while((r = m % n ) != 0)
        {
                m = n ;
                n = r ;
        }
        return n ;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-4-28 17:12:37 | 显示全部楼层
还有一点。main函数里的:

cout << h <<endl<< l << endl ;(不然会很难分辨)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-4-28 17:25:43 | 显示全部楼层
        while((r = m % n ) != 0)
        {
                m = n ;
                n = r ;
        }
        return (r) ;
这里经过循环后r==0时跳出循环 返回值是0出错  又把0作为参数传入函数中作除数...可想而知了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-4-28 22:21:58 | 显示全部楼层
是不是因为自己写的函数int lcd()。。。放在了int main()后面,应该放在前面吧。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-4-29 10:26:48 | 显示全部楼层

嗯嗯,明白了,我还想说r和n是相等的,怎么return  r 不行呢,现在明白了 谢谢啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-4-29 10:27:19 | 显示全部楼层
holy-jeusus 发表于 2014-4-28 22:21
是不是因为自己写的函数int lcd()。。。放在了int main()后面,应该放在前面吧。

做了函数声明就可以放到main函数后面了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-4-29 10:28:12 | 显示全部楼层
sidfate 发表于 2014-4-28 17:12
还有一点。main函数里的:

cout

恩。我运行的时候发现这个问题了,就加了一个空格,写程序的时候总是忘
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-4-29 10:29:02 | 显示全部楼层
sidfate 发表于 2014-4-28 16:25
你好,又是我。

谢谢帮忙!以后记得常常帮助我哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-26 11:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表