计算阶乘的函数,四舍五入(结果为整数)函数,逆序一个整数的函数,判断是否为素数的函数,计算三角形面积和求根公式对应函数

//1.计算n的阶乘:
int fcr(int a)
{
	if (a >1)  //当a=1的时候,fcr(1)=1;
		return a * fcr(a - 1);
	else
		return 1;
}
//2.四舍五入函数
int rdoff(float A)
{	
	int a;
	if (A >= 0) 
	{
		a = A;
		float C = A - a; //得到小数
		if (C >= 0.5)
			A = A + 1;
		else
			A = a;    
	}
	else
	{
		a = A;
		int b = -a;
		A = -A;
		float C = A - b; //得到小数
		if (C >= 0.5)
		{
			A = A + 1;
			A = -A;
		}
		else
			A = a;
	}
	return A;
}
//3.逆整函数
int reverse(int n)
{
	int revenum=0;
	for (int i = 1; n > 0; i++)
	{
		int temp = n % 10;//得到最后一位
		n = n / 10;
	    revenum = temp + revenum * 10;
	}
	return revenum;
}
//4.判断素数函数:返回1为素数,0不是素数
int is_prime(int n)
{
	int i; 
	for(i=2;i<=sqrt(n);i++)
	{
		if (n % i == 0)
			break;
    }
	if (n % i != 0)
		return 1;
	else
		return 0;
}
//5.计算三角形面积:返回-1不能构成三角形,其余正常
double tri_area(double a, double b, double c)
{
	double s=0, area=0;
	if (a > 0 && b > 0 && c > 0) {
		if (a + b > c && a + c > b && b + c > a) {
			s = (a + b + c) / 2.0;
			area = sqrt(s * (s - a) * (s - b) * (s - c));//括号之间不能没有运算的符号
			//printf("area=%lf\n", area);
			return area;
		}
		else {
			//printf("Cannot form a triangle\n ");
			return -1;
		}
	}
}
//6.求根函数(二次):通过指针来返回(保存)两个根,其中x1,x2为输出参数,主函数使用时需要先定义,因为要传入指针
int root_2(int a, int b, int c, double* x1, double* x2)
{
	double DET = b * b - 4 * a * c;
	if (DET > 0)
	{
		*x1 =(-b + DET) / 2 * a;//内部解引用
		*x2 = (-b - DET) / 2 * a;
		return 2;
	}
	else if (DET == 0)
	{
		*x1 = (-b + DET) / 2 * a;
		*x2 = *x1;
		return 1;
	}
	else
	{
		*x1 = 0;//当返回值都是两个0的时候,说明无根
		*x2 = 0;
		return 0;
	}
}

以上都是一些比较常用到的函数,使用起来方便快捷,具体注意都写在注释中了,事半功倍.如果有疑问可以发表在评论区.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值