网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
01月26日
漏签
0
天
c语言吧
关注:
798,700
贴子:
4,347,148
看贴
图片
吧主推荐
视频
游戏
16
回复贴,共
1
页
<<返回c语言吧
>0< 加载中...
小白第一帖,没有报错,没有警告,我写的递归问题在哪里?
只看楼主
收藏
回复
预留涳间
强能力者
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
本程序目的是求两个数的最大公约数,方法是,a%b==0,则最大公约数就是b,如果不等于零,那么最大公约数就是b和a&b的最大公约数,问题很简单
基本思路是这样的:
先输入两个大于0的整数;
判断两个数的大小,如果a<b,则交换位置;
调用求我写的函数;
『
函数第一步:直接判断a%b是否等于零(用条件语句更简单,为了保险新手不都这样嘛),如果等于零,就返回最大公约数b;如果不等于零,则第二步;
第二步:将a和b的值分别赋为b和(a%b),递归;
第三步:返回最大公约数;
』
输出最大公约数;
整个思路应该是没有问题,下面附图和源代码
预留涳间
强能力者
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
预留涳间
强能力者
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
#include<stdio.h>
int is_gcd(int m,int n)
{
int t;
int gnumber;
if(m%n==0)
gnumber=n;
else
{
t=n;
n=(m%n);
m=t;
gnumber=is_gcd(m,n);
}
return (gnumber);
}
int main ()
{
int m,n,t;
printf("请输入两个大于0的整数:");
scanf("%d ,%d",&m,&n);
if(m>n)
{
printf("\n%d和%d的最大公约数是 :%d",m,n,is_gcd(m,n));
}
else
{
t=m;
m=n;
n=t;
printf("\n%d和%d的最大公约数是 :%d",m,n,is_gcd(m,n));
}
return 0;
}
预留涳间
强能力者
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
我遵守着C语言吧最基本的守则,不水贴,不伸手,一直都是好孩子呢
预留涳间
强能力者
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
都没有小伙伴水贴吗
Gypsophila_rep
麻婆豆腐
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
输入"13,14",中间加一个逗号
嘤嘤嘤荫
彩虹面包
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
心眼观物
彩虹面包
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
写复杂了
#include <stdio.h>
int gcd(int m,int n)
{
if(m%n==0)
{
return n;
}
return gcd(n,m%n);
}
int main()
{
int m,n;
printf("请输入两个大于0的整数:");
scanf("%d%d",&m,&n);
printf("%d和%d的最大公约数是 :%d",m,n,gcd(m,n));
return 0;
}
xumo郭
毛蛋
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
/Title (SSReader Print.)
/Author (wushaol)
/Creator (pdfFactory Pro
http://www.pdffactory.com
)
/Producer (pdfFactory Pro 3.16 \(Windows XP Professional Chinese\))
/CreationDate (D:20070314202542+08'00')
这个是什么意思,怎样解读,超级新手,,,
星哥帅到没朋友
便当
3
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
阉割版vc么
——诺基亚 lumia 920
校园招聘大使
超能力者
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
这个简直有点忍不了啊,你们在写代码的时候完全没有缩进吗?
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示