飞道的博客

用函数实现求一元二次方程ax^2+bx+c=0的根,要求二次方程的系数a、b、c分别从键盘输入:

566人阅读  评论(0)

一、用函数实现求一元二次方程ax^2+bx+c=0的根,要求二次方程的系数a、b、c分别从键盘输入:

#include <iostream>
#include"math.h"
using namespace std;
int panduan(double, double, double);
void main(void)
{
   
	double a, b, c;
	double x1, x2;
	double h;
	cout << "请输入一元二次方程的三个系数:" << endl;
	cin >> a >> b >> c;
	h = panduan(a, b, c);
	if (h < 0)
	{
   
		cout << "该方程没有实数根。" << endl;
	}
	if (h == 0)
	{
   
		cout << "该方程只有一个实数根为:" << -b / 2 / a << endl;
	}
	if (h > 0)
	{
   
		cout << "该方程有两个实数根分别为:" << (-b + sqrt(h)) / 2 / a << '\t' << (-b - sqrt(h)) / 2 / a << endl;
	}
}
int panduan(double a, double b, double c)
{
   
	double h;
	h = b * b - 4 * a * c;
	if (h < 0)
	{
   
		return 0;
	}
	if (h == 0)
	{
   
		return 1;
	}
	if (h > 0)
	{
   
		return 2;
	}
}

编写程序求下面表达式的值:K=n!/(m!(n-m)!,n≥m:

#include <iostream>
using namespace std;
int jiecheng(int);
void main()
{
   
	int n, m,k;
	cout << "请输入n和m,并且n的值大于等于m:" << endl;
	cin >> n >> m;
	k = jiecheng(n)/jiecheng(m) / jiecheng(n - m);
	cout << "K的值为:" << k << endl;
}
int jiecheng(int n)
{
   
	int m=1;
	for (; n > 0; n--)
	{
   
		m =m * n;
	}
	return m;
}

由键盘输入两个整数,用函数实现求两个数的最大公约数和最小公倍数:

#include<iostream>
using namespace std;
int max(int a, int b);
int min(int a, int b);
void main()
{
   
	int a, b;
	int mx;
	int mn;
	cout << "请输入两个整数:" << endl;
	cin >> a >> b;
	mx = max(a, b);
	mn = min(a, b);
	cout << "最大公约数为:" << mx << endl << "最小公倍数为:" << mn << endl;
}
int max(int a, int b)
{
   
	int temp;
	if (a < b)
	{
   
		temp = a;
		a = b;
		b = temp;
	}
	while(1)
	{
   
		if ((a % b) == 0)
		{
   
			return b;
			break;
		}
		else
		{
   
			a = b;
			b = a % b;
		}
	}
}
int min(int a, int b)
{
   
	int x;
	x = max(a, b);
	x = a * b / x;
	return x;
}

通过函数实现由键盘输入一个十六进制数,输出相应的十进制数:

#include<iostream>
using namespace std;
long int shuru(void);
void main()
{
   
	long int a;
	cout << "请输入一个十六进制数:" << endl;
	a = shuru();
	cout <<dec<<a << endl;
}
long int shuru(void)
{
   
	long int a;
	cin >> hex >> a;
	return a;
}

采用冒泡排序法实现10个数据的排序

#include<iostream>
using namespace std;
void main()
{
   
	double a[10];
	int i;
	int j;
	int temp;
	for (i = 0; i < 10; i++)
	{
   
		cin >> a[i];
	}
	for (i = 0; i < 10; i++)
	{
   
		for (j = 0; j < 9 - i; j++)
		{
   
			if (a[j] > a[j + 1])
			{
   
				temp = a[j];
				a[j] = a[j + 1];
				a[j + 1] = temp;
			}
		}
	}
	for (i = 0; i < 10; i++)
	{
   
		cout << a[i] << endl;
	}
}

分别定义一个43和32的矩阵A和B,实现矩阵A和B的乘积:

#include <iostream>
using namespace std;
int main()
{
   
	float x[4][3];
	float y[3][2];
	float z[4][2];
	cout << "请输入一个四行三列的二维数组" << endl;
	int i, j, k;
	for (i = 0; i < 4; i++)
	{
   
		for (j = 0; j < 3; j++)
		{
   
			cin >> x[i][j];
		}
	}
	cout << "请输入一个三行两列的二维数组" << endl;
	for (i = 0; i < 3; i++)
	{
   
		for (j = 0; j < 2; j++)
		{
   
			cin >> y[i][j];
		}
	}
	for (i = 0; i < 4; i++)
	{
   
		for (j = 0; j < 2;j++)
		{
   
			for (k = 0; k < 3; k++)
			{
   
				z[i][j] += x[i][k] * y[k][j];
			}
		}
	}
	for (i = 0; i < 4; i++)
	{
   
		for (j = 0; j < 2; j++)
		{
   
			cout << z[i][j] << endl;
		}
	}

	return 0;
}

一个学习小组有6人,共有5门课程,编程实现以下要求:

(1)求第一门课程的平均成绩。
(2)找出有一门课程以上不及格的学员,输出该学员的所有成绩和平均成绩。
(3)找出5门课程都在90分以上的学员以及平均成绩在95分以上的学员。

#include <iostream>
using namespace std;
int main()
{
   
	int a[6][5];
	cout << "请输入六个人五门课程的成绩:" << endl;
	int i, j, k;
	for (i = 0; i < 6; i++)
	{
   
		for (j = 0; j < 5; j++)
		{
   
			cin >> a[i][j];
		}
	}
	int averge_frist;
	int sum=0;
	for (i = 0; i < 6; i++)
	{
   
		sum = sum + a[i][1];
	}
	averge_frist = sum / 6;
	cout << "第一门课的平均成绩为:" << averge_frist << endl;
	for (i = 0; i < 6; i++)
	{
   
		for (j = 0; j < 5; j++)
		{
   
			if (a[i][j] <60)
			{
   
				for (k = 0; k < 5; k++)
				{
   
					cout << "该学员的各科成绩分别为:" << a[i][k] << endl;
				}
				for (k = 0,sum=0; k < 5; k++)
				{
   
					sum = sum + a[i][k];
				}
				cout << "该学员的平均成绩为:" << sum / 5 << endl;
			}
		}
	}
	for (i = 0; i < 6; i++)
	{
   
		for (j = 0; j < 5; j++)
		{
   
			if (a[i][j] > 90)
			{
   
				if (j == 4)
				{
   
					switch (i)
					{
   
					case 0:
						cout << "第一个同学5门课程都在90以上" << endl;
						break;
					case 1:
						cout << "第二个同学5门课程都在90以上" << endl;
						break;
					case 2:
						cout << "第三个同学5门课程都在90以上" << endl;
						break;
					case 3:
						cout << "第四个同学5门课程都在90以上" << endl;
						break;
					case 4:
						cout << "第五个同学5门课程都在90以上" << endl;
						break;
					}
				}
				else
				{
   
					if (i == 5)
					{
   
						cout << "没有同学5门课程都在90分以上!!!" << endl;
					}
				}
			}
		}
	}
	for (i = 0; i < 6; i++)
	{
   
		for (j = 0,sum=0; j < 5; j++)
		{
   
			sum = sum + a[i][j];
		}
		if (sum/5 > 95)
		{
   
			switch (i)
			{
   
			case 0:
				cout << "第一个同学平均分在95以上" << endl;
				break;
			case 1:
				cout << "第二个同学平均分在95以上" << endl;
				break;
			case 2:
				cout << "第三个同学平均分在95以上" << endl;
				break;
			case 3:
				cout << "第四个同学平均分在95以上" << endl;
				break;
			case 4:
				cout << "第五个同学平均分在95以上" << endl;
				break;
			}
		}
		else
		{
   
			if (i == 4)
			{
   
				cout << "没有同学平均分在9分以上!!!"<<endl;
			}
		}
	}
	return 0;
}


转载:https://blog.csdn.net/weixin_51412231/article/details/109488179
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场