【C语言】编写一个函数,传入a,b两个int类型的变量,返回两个值的最大公约数。

/*编写一个函数,传入a,b两个int类型的变量,返回两个值的最大公约数。
例如:输入传入(0 , 5)函数返回5,传入(10 , 9)函数返回1,传入(12 , 4)函数返回4
*/
#include <stdio.h>
int yue(int a,int b)
{
	int temp;
	int n;
	if (a>b)
	{
		temp=a;
		a=b;
		b=temp;
	}
	n=a;
	if(a==0)
		return b;
	else
		while(n!=0)
		{
			if( a%n==0 && b%n==0 )
			return n;
			n--;
		}
}
int main()
{
	int x,y;
	printf("请输入两个整数: ");
	scanf("%d%d",&x,&y);
	printf("最大公约数为: %d\n",yue(x,y));
	return 0;
}

时间: 2024-10-18 01:27:17

【C语言】编写一个函数,传入a,b两个int类型的变量,返回两个值的最大公约数。的相关文章

C语言 编写一个函数,用递归方式求最大公约数。

编写一个函数,传入a,b两个int类型的变量,返回两个值的最大公约数.利用递归方式实现. #include <stdio.h> int gcd(int a,int b) { int tmp; if(a==0 || b==0) return 0; if(a<b) { tmp=a; a=b; b=tmp; } if(a%b==0) return b; else return gcd(b,a%b); } int main() { int num; num=gcd(12,4); printf(&

C语言 编写一个函数reverse_string(char * string)(递归实现) 实现:将参数字符串中的字符反向排列

编写一个函数reverse_string(char * string)(递归实现) 实现:将参数字符串中的字符反向排列. #include <stdio.h> #include <string.h> #include <assert.h> int reverse_string(char * str) { assert(str); int len=strlen(str); char *ch=str+len-1; while(len>1) { char tmp=*st

设计一个表示分数的类Fraction。这个类用两个int类型的变量分别表示分子和分母。(Java语言)

这个类的构造函数是: Fraction(int a, int b) 构造一个a/b的分数. 这个类要提供以下的功能: double toDouble(); 将分数转换为double Fraction plus(Fraction r); 将自己的分数和r的分数相加,产生一个新的Fraction的对象.注意小学四年级学过两个分数如何相加的哈. Fraction multiply(Fraction r); 将自己的分数和r的分数相乘,产生一个新的Fraction的对象. void print(); 将

【C语言】编写一个函数,将一个数字字符串转换成该字符串对应的数字(包括正整数、负整数)

/* 编写一个函数,将一个数字字符串转换成该字符串对应的数字(包括正整数.负整数) 例如:"12" 返回12 "-123" 返回-123 函数原型:int my_atof(char *str) */ #include <stdio.h> int my_atof(char *str) { int flag=0; int m=0; if(*str=='-') { flag=1; str++; } while(*str!='\0') { if(*str<

【c语言】编写一个函数reverse_string(char * string)(递归实现) 实现:将参数字符串中的字符反向排列。

/*编写一个函数reverse_string(char * string)(递归实现) 实现:将参数字符串中的字符反向排列. 要求:不能使用C函数库中的字符串操作函数.*/ #include <stdio.h> #include <assert.h> void reverse_string(char const * string) { assert( string != NULL ); if( *string != '\0' ) { string++; reverse_string

【c语言】 编写一个函数实现n^k,使用递归实现

//编写一个函数实现n^k,使用递归实现 #include <stdio.h> int cifang( int x, int y )//2^3=2*2*2 { int sum = 0; if( y == 0 ) sum = 1; else sum = x * cifang( x, ( y - 1 ) ); return sum; } int main() { printf("%d\n",cifang( 2,0 )); printf("%d\n",cifa

【C语言】编写一个函数,求字符串长度

//编写一个函数,求字符串长度 #include <stdio.h> #include <assert.h> int my_strlen(const char *p) { int len=0; assert(p); while (*(p++)) { len++; } return len; } int main() { char *p = "abcdef"; printf("%d\n", my_strlen(p)); return 0; }

【C语言】编写一个函数reverse_string(char * string)(递归实现),将参数字符串中的字符反向排列,不能使用C函数库中的字符串操作函数。

//编写一个函数reverse_string(char * string)(递归实现) //实现:将参数字符串中的字符反向排列. //要求:不能使用C函数库中的字符串操作函数. #include <stdio.h> #include <assert.h> void reverse_string(char const * string) { assert( string != NULL ); if( *string != '\0' ) { string++; reverse_stri

【C语言】编写一个函数实现n^k,使用递归实现。

//编写一个函数实现n^k,使用递归实现 #include <stdio.h> int fun(int n,int k) //求n的k次方 { int sum; if (k==0) { sum=1; } else { sum=n*fun(n,k-1); } return sum; } int main () { printf("%d\n",fun(2,3)); return 0; }