四则运算以及一元二次方程

18398806180   发布于 2021年04月08日   阅读次数: 1816   

Tag: 新手

                                                                             
#include<stdio.h>    //标准输入输出(standard input output).h为文件扩展名。
#include<math>       //调用math头文件

int main()//定义主函数,返回值为空。
{

	int a, b, d, choose;//定义a,b,c,d,choose四个整数型变量。
	double x, x1, x2, p, m, n, o;//定义x,x1,x2,p,m,n,o七个双精度变量 
	char c;//定义c字符变量。
	printf("四则运算输入1\n平方根输入2\n求倒数输入3\n求幂次方输入4\n求一元二次方程的解输入5\n"); //输出打印四则运算输入1(换行)平方根输入2(换行)求倒数输入3(换行)求幂次方输入4(换行)求一元二次方程的解输入5(换行)。
	scanf("%d", &choose);//输入choose的值,切记&,不能忘记!
	if (choose == 1)//判断输入choose的值,如果choose的值等于1。
	{
		printf("请输入算式:\n");//打印输出请输入算式:(换行)
		scanf("%d%c%d", &a, &c, &b);//输入a,c,d的值。符号要记牢。
		if (c == '+')//判断c的值,如果c为+。
			printf("%d%c%d=%d", a, c, b, a + b);//打印输出a+b=结果。
		else if (c == '-')//如果c为-。
			printf("%d%c%d=%d", a, c, b, a - b);//打印输出a-b=结果。
		else if (c == '*')//如果c为*。
			printf("%d%c%d=%d", a, c, b, a * b);//打印输出a*b=结果。
		else if (c == '/')//如果c为/。
			printf("%d%c%d=%d", a, c, b, a / b);//打印输出a/b=结果。
		else//如果都不是上述值。
			printf("It is error!");//打印输出It is error!。
	}
	else if (choose == 2)//如果输入choose的值为2。
	{
		printf("请输入要开方的数字:\n");//打印输出“请输入要开方的数字”。
		scanf("%d", &a);//输入a的值。
		printf("%d的平方根为%lf", a, sqrt(a));//打印输出a的平方根为  ,sqrt(a)表示为a的平方根,
	}
	else if (choose == 3)//如果输入的choose的值为3.
	{
		printf("请输入要求倒的数字:\n");//打印输出“请输入要求倒的数字:”(换行)。
		scanf("%lf", &x);//输入x的值。
		printf("%lf求倒数为%lf", x, 1 / x);//打印输出x的倒数。
	}
	else if (choose == 4)//如果输入的choose的值为4.
	{
		printf("请输入底数:\n");//打印输出“请输入底数”(换行)。
		scanf("%d", &a);//输入a的值。
		printf("请输入指数:\n");//打印输出“请输入指数”(换行)。
		scanf("%d", &b);//输入b的值。
		d = a;//令d等于a的值。
		for (int i = 1; i < b; i++)//定义i等于1,当i小于b的值时,i自增(即有d个a相乘)。
		{
			a = a * d;//令a等于a*b的结果,即为结果。
		}
		printf("%d的%d次方为:%d\n", d, b, a);//输出打印d的b次方为a。
	}
	else if (choose == 5)//如果输入的choose值为5。
	{
		printf("输入一个一元二次方程(Ax^2+Bx+C=0)的系数A,B,C\n");//打印输出“输入一个一元二次方程(Ax^2+Bx+C=0)的系数A,B,C(换行)。
		scanf("%lf%lf%lf", &m, &n, &o);//输入m,n,o的值。
		p = n * n - 4 * m * o;//定义p的计算方式,根据求根公式得出。
		if (p < 0)//如果p小于0.
			printf("此方程无解\n");//打印输出此方程无解(换行)。
		else//否则。
		{
			x1 = (-n + sqrt(p)) / (2 * m);//定义第一个根的算法。
			x2 = (-n - sqrt(p)) / (2 * m);//定义第二个根的算法。
			if (x1 == x2)//判断如果x1=x2。
				printf("此方程有唯一解:%lf\n", x1);//打印输出此方程有唯一解。
			else//否则。
				printf("此方程有两个解:%lf\t%lf\n", x1, x2);//打印输入此方程有两个解
		}
	}
	else//否则
		printf("It is error!");//打印输出It is error!。
	return 0;//返回值为空,终止函数执行。
}