(1)问题及代码:
/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:Project4.cpp
* 作 者:李楠
* 完成日期:2014年11月6日
* 版 本 号:v1.0
*
* 问题描述:输入两个数,并求出其最大公约数
* 输入描述:两个整数
* 程序输出:一个整数,代表两数中的最大数
*/
#include <iostream>
using namespace std;
//自定义函数的原型(即函数声明)
int gcd(int x,int y);
int main( )
{
int a,b,g;
cin>>a>>b;
g=gcd(a,b);
cout<<"最大公约数是: "<<g;
return 0;
}
int gcd(int x,int y) //定义用于求两数的最大公约数的函数,函数只管求值,不管输出。输出由main完成
{
int t;
while(y>0)
{
t=x%y;
x=y;
y=t;
}
return x;
}
运行结果:
(2)问题及代码:
/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:P4.cpp
* 作 者:李楠
* 完成日期:2014年11月6日
* 版 本 号:v1.0
*
* 问题描述:在上面程序的基础上,增加函数gcds函数的声明和定义,实现求4数最大公约数的功能
* 输入描述:四个整数
* 程序输出:一个整数,代表四个数中的最大数
*/
#include <iostream>
using namespace std;
//自定义函数的原型(即函数声明)
int gcd(int x,int y,int z,int w);
int main( )
{
int a,b,c,d,g;
cin>>a>>b>>c>>d;
g=gcd(a,b,c,d);
cout<<"最大公约数是: "<<g;
return 0;
}
int gcd(int x,int y,int z,int w) //定义用于求两数的最大公约数的函数,函数只管求值,不管输出。输出由main完成
{
int t,n,l;
while(y>0)
{
t=x%y;
x=y;
y=t;
}
while(w>0)
{
n=z%w;
z=w;
w=n;
}
while(z>0)
{
l=x%z;
x=z;
z=l;
}
return x;
}
运行结果:
知识点总结:
运用所学的求最大公约数的知识,并且用函数输出最大公约数。
学习心得:
如果不复习最大公约数的求法,不能编出这个程序,小的知识点能发挥很大作用~!