| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1720 人关注过本帖
标题:我的求最大公约数的小程序该怎么改才没有警告
取消只看楼主 加入收藏
bsp0321
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2006-2-22
收藏
 问题点数:0 回复次数:7 
我的求最大公约数的小程序该怎么改才没有警告

#include <iostream>
using namespace std;

int gc(int m,int n) //求最大公约数
{
if(m<n) gc(n,m);
else if(m%n==0) return n;
else
{
m = m%n; gc(m,n);
}
}
int gd(int m, int n) //求最小公倍数
{
return m*n/gc(m,n);
}


void main(void)
{
int m,n;
cout<<"m=";
cin>>m;
cout<<"n=";
cin>>n;
cout<<"m,n的最大公约数为:";
cout<<gc(m,n)<<endl;
cout<<"m,n的最小公被数为:";
cout<<gd(m,n)<<endl;
}

搜索更多相关主题的帖子: 最大公约数 警告 
2006-12-19 18:39
bsp0321
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2006-2-22
收藏
得分:0 
warning C4715: 'gc' : not all control paths return a value
2006-12-19 18:40
bsp0321
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2006-2-22
收藏
得分:0 

这是输入输出控制,>> <<分别是输入,输出操作符。
不用管这些的。

2006-12-19 21:05
bsp0321
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2006-2-22
收藏
得分:0 
sorry!
fengwei同学的测试:
m=3
n=5
m,n的最大公约数为:-85899340
m,n的最小公被数为:0



2006-12-19 21:13
bsp0321
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2006-2-22
收藏
得分:0 
mayudong1同学,我新手,刚学,解释一下,为什么要加上两个return呢?
2006-12-19 21:15
bsp0321
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2006-2-22
收藏
得分:0 
我是一只小菜鸟比我强多了,呵呵
我刚看C++ Primer 3rd Edition 中文完美版.pdf上有完整的代码,但是我还是想实现一下我所想的。
////////////////////////////////
//C++ Primer 3rd Edition 中文完美版.pdf
int gcd( int v1, int v2 )
{
// 返回最大公约数
while ( v2 )
{
int temp = v2;
v2 = v1 % v2;
v1 = temp;
}
return v1;
}

[此贴子已经被作者于2006-12-19 21:20:54编辑过]

2006-12-19 21:20
bsp0321
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2006-2-22
收藏
得分:0 

哦,太谢谢了,又长了知识了。

2006-12-19 21:35
bsp0321
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2006-2-22
收藏
得分:0 
位运算时,<<, >>是双目运算符
即左右都要有(数)。不知道这样解释对不对。
2006-12-19 21:37
快速回复:我的求最大公约数的小程序该怎么改才没有警告
数据加载中...
 
   



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

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