C语言常用代码练习

本文提供了四个C语言的编程练习,包括找出三个数中的最小值、计算阶乘、求长方体体积以及实现辗转相除法和更相减损术求最大公约数的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.求三个数中的最小值

#include<stdio.h>
#include<stdlib.h>
int min(int a,int b,int c);
int main()
{
	while (1)
	{
		int num1, num2, num3;
		printf_s("输入三个数字:\n");
		scanf_s("%d,%d,%d", &num1, &num2, &num3);
		printf("最小数为:%d", min(num1, num2, num3));
		system("pause");
	}
}
int min(int a, int b, int c)
{
	int temp = a;
	if (a > b)
	{
		temp = b;
	}
	else if (a > c)
	{
		temp = c;
	}
	else
		temp =a ;
	return temp;
}

2.求n的阶乘

/*#include<stdio.h>
#include<stdlib.h>
//int mul(int n);
int main()
{
	int num = 1;
	int n;
	scanf_s("%d", &n);
	while (n > 0)
	{
		num = num * n;
		n--;
	}
		printf("n的阶乘为:%d", num);
	system("pause");
}*/

#include<stdio.h>
#include<stdlib.h>
int mul(int a);
int main()
{
	while (1)
	{
		int n;
		//int result;
		printf_s("请输入一个数字n:\n");
		scanf_s("%d", &n);
		//result = mul(n);
		printf_s("n的阶乘为:%d\n", mul(n));
		system("pause");
	}
}
int mul(int a)
{
	int total = 1;
	while (a > 0)
	{
		total = total * a;
		a--;
	}
	return total;
}

3.计算长方体的体积

#include<stdio.h>
#include<stdlib.h>
#define Height 10
//int calculate(int Long,int Width);
int calculate(int Long,int Width)
{
	int Result = 0;
	Result = Long * Width * Height;
	return Result;
}
int main()
{
	int S_long;
	int S_width;
	int result = 0;
	printf("请输入长方体的长和宽:\n");
	scanf("%d,%d",&S_long,&S_width);
	result = calculate(S_long,S_width);
	printf("长方体的体积为:%d、",result);
	system("pause");
}

4.求最大公约数:辗转相除法,更相减损术

/*辗转相除法求最大公约数
辗转相除法的算法流程可以如下:
步骤1:计算a与b的余数r。
步骤2:如果r为0,则返回gcd = b。否则,转到步骤3。
步骤3:使用b的值更新a的值,使用余数r更新b的值,转到步骤1。
*/
/*#include<stdio.h>
#include<stdlib.h>
int GCD(int a,int b);

int main()
{
	int num1, num2;
	scanf_s("%d,%d", &num1, &num2);
	printf("最大公约数为:%d、", GCD(num1, num2));
	system("pause");
}
int GCD(int a, int b)
{
	int r;
	if (a > b)
	{
		while((r = a % b)!= 0)
		{
			a = b;
			b = r;
		}
	}
	else
	{
		while((r = b % a)!= 0)
		{
			b = a;
			a = r;
		}
	}
	return b;
}*/
//更相减损术求最大公约数
/*
原理很简单:两个正整数a和b(a > b),它们的最大公约数等于a-b的差
值c和较小数b的最大公约数。依次递归下去,直到两个数相等。这相等两
个数的值就是所求最大公约数。
*/
#include<stdio.h>
#include<stdlib.h>
int GCD(int a, int b);

int main()
{
	int num1, num2;
	scanf_s("%d,%d", &num1, &num2);
	printf("最大公约数为:%d、", GCD(num1, num2));
	system("pause");
}
int GCD(int a, int b)
{
	while (a != b)
	{
		if (a > b)
		{
			a = a - b;
		}
		else
		{
			b = b - a;
		}
	}
	return a;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值