C++第12周项目3——四数的最大公约数

课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565

【项目3-四数的最大公约数】

  输入四个数,并求出其最大公约数



参考解答:中规中矩的做法

#include <iostream>
using namespace std;
//自定义函数的原型(即函数声明)
int gcd(int,int);
int gcds(int,int,int,int);
int main()
{
	int a,b,c,d;
	cin>>a>>b>>c>>d;
	cout<<"最大公约数是: "<<gcds(a,b,c,d)<<endl;
	return 0;
}

int gcd(int x,int y) //用辗转相除法,求两数的最大公约数
{
	int r;
	while(y>0)
	{
		r=x%y;
		x=y;
		y=r;
	}
	return x;
}

int gcds(int x,int y,int z,int w)   //调用gcd()求四数的最大公约数
{
	int g1,g2,g;
	g1=gcd(x,y);
	g2=gcd(z,w);
	g=gcd(g1,g2);
	return g;
}

本题重在体验自定义函数中调用 自定义函数,gcds()可以有多种写法,给出几种供欣赏:
1.

int gcds(int x,int y,int z,int w)   //调用gcd()求四数的最大公约数
{
	int g1,g2;
	g1=gcd(x,y);
	g2=gcd(z,w);
	return gcd(g1,g2);
}

2. 

int gcds(int x,int y,int z,int w)   //调用gcd()求四数的最大公约数
{
	return gcd(gcd(x,y),gcd(z,w));
}

3.(这种写法涉嫌抄袭,来自我的学生的报告)

int gcds(int x,int y,int z,int w)   //调用gcd()求四数的最大公约数
{
	return gcd(x,gcd(y,gcd(z,w)));
}
时间: 2025-01-21 12:35:43

C++第12周项目3——四数的最大公约数的相关文章

2013级C++第12周项目——函数应用

课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759 [项目1-当年第几天] 定义一个函数,其参数为年.月.日的值,返回这一天为该年的第几天.要求在main函数中输入年月日,然后调用这个函数求值,并在main函数中输出结果. [项目2-太乐了]先听故事,再编程序. 故事是这样的:话说sin和cos是一对夫妇.一天,sin去听相声了,cos在家.过了一会,有人敲门,cos开门一看,是一个不认识的多项式函数.cos问:你是谁啊?

C++第7周项目3 三数中的最大、最小值

课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759 [项目3]输入3个整数,输出其中的最大值. 样例输入:12 45 32 样例输出:最大值为:45 参考解答: #include <iostream> using namespace std; int main( ) { int a,b,c,max; cout<<"请输入四个数值:"; cin>>a>>b>&g

2014秋C++ 第12周项目 C++函数新特征与递归函数

课程主页在http://blog.csdn.net/sxhelijian/article/details/39152703,课程资源在云学堂"贺老师课堂"同步展示,使用的帐号请到课程主页中查看.  [项目1- 阅读程序]阅读下列程序,写出程序的运行结果.上机时运行程序,与你的预期进行对照.理解.如果对运行结果和其背后的原理仍不理解,请通过单步执行的手段跟踪理解.(1)阅读下面两个有静态局部变量的程序,阅读中画出其中各变量的变化过程,以掌握静态变量的存储特征,对照实际运行结果检验学习成果

2014秋C++第12周项目2参考-OJ平台题目中多种输入形式的处理

课程主页在http://blog.csdn.net/sxhelijian/article/details/39152703,课程资源在云学堂"贺老师课堂"同步展示,使用的帐号请到课程主页中查看.  [项目2-OJ平台题目中多种输入形式的处理]看教学视频或"OJ平台题目中不同形式输入的处理",完成平台中的一组题目,分别对应不同输入的形式的问题. A: 求N组数的最大公约数 Description 计算一组数的最大公约数 Input 第一行是数据的组数N,从第二行是N组

C++第12周项目4——用函数解决素数、回文数等

课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565 [项目4-回文.素数]  编制一个返回值为bool型的函数isPrimer(),用于判断参数是否为素数,isPalindrome()用于判断参数是否是回文数,调用函数回答以下问题(可以分别编制几个程序完成,也可以在一个main()函数中完成,输出时,用明显的提示语,说明正在完成哪个任务.) (1)输出10000以内的所有素数.(2)输出10000以内的所有回文数.(3)输

2014秋C++第12周项目4参考- 银行系统

课程主页在http://blog.csdn.net/sxhelijian/article/details/39152703,课程资源在云学堂"贺老师课堂"同步展示,使用的帐号请到课程主页中查看.  [项目4 - 银行系统]这是我们要做的一个真正的项目!涉及到的技术都用过了,只不过,程序真的要长得多了. 在学习中,总是想要些成就感的.当你没有做过一些事情的时候,总是不能知道所学知识究竟能干些什么.在学习过程中,完成一个像样的项目,那是一件很酷的事情,也让我们更有激情.做好思想准备,中间可

C++第12周项目5.1——银行系统框架

课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759 [项目5-银行系统] 这是我们要做的一个真正的项目!涉及到的技术都用过了,只不过,程序真的要长得多了. 在学习中,总是想要些成就感的.当你没有做过一些事情的时候,总是不能知道所学知识究竟能干些什么.在学习过程中,完成一个像样的项目,那是一件很酷的事情,也让我们更有激情.做好思想准备,中间可能会有些困难,但相信沉下心来还是可以完成的. 要做项目的需求最好能和大家的生活实践联

C++第12周项目6——太乐了!

课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565 [项目6-泰勒展开] 先听故事,再编程序.故事是这样的:话说sin和cos是一对夫妇.一天,sin去听相声了,cos在家.过了一会,有人敲门,cos开门一看,是一个不认识的多项式函数.cos问:你是谁啊?他说:我是你的老公sin啊.cos说:你不是去听相声了吗?怎么成这幅摸样了?他说:是啊,太乐了!故事讲完了.不懂吗?好好学高数.否则,挂了不冤. 编程序求出sin(π/2

2013-C++第12周项目参考解答链接集

课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759 [项目1-当年第几天] 定义一个函数,其参数为年.月.日的值,返回这一天为该年的第几天.要求在main函数中输入年月日,然后调用这个函数求值,并在main函数中输出结果. 参考解答在:http://blog.csdn.net/sxhelijian/article/details/16330759 [项目2-太乐了]先听故事,再编程序. 故事是这样的:话说sin和cos是一