小程序开发定制C++上机题汇总

C++小程序开发定制期末复习题目汇总

小程序开发定制本人汇总了本学期上机考的题目,小程序开发定制并借鉴和自己编写了这些代码。

///题目如下

1.小程序开发定制字母大小写转换

#include<iostream>using namespace std;void change(char x) {	x += 32;	cout << x << endl;}int main() {	char a;	cin >> a;	change(a);	return 0;}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

2.小程序开发定制计算圆的周长和面积

#include<iostream>using namespace std;#define PI 3.14class Circle{public:	Circle(double radius) {		this->C = 2 * PI * radius;		this->S = PI * radius * radius;		cout << this->C << " " << this->S << endl;	}	double S;	double C;};int main() {	double radius;	cin >> radius;	Circle a(radius);	return 0;}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

3.小程序开发定制数据逆序输出

#include<iostream>using namespace std;int function(int n) {	int temp = 0;	while (n > 0) {		n /= 10;		temp++;	}	return temp;}int main() {	int array[10];	int num, x;	cin >> num;	x = function(num);	for (int i = 0; i < x; i++) {		array[i] = num % 10;		num /= 10;	}	for (int i = 0; i < x; i++) {		cout << array[i];	}	return 0;}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

4.小程序开发定制判断是否是闰年

#include<iostream>using namespace std;void function(int a ){	if (a % 4 == 0 && a % 100 != 0 || a % 400 == 0) {		cout << "是" << endl;	}	else {		cout << "不是" << endl;	}}int main() {	int year;	cin >> year;	function(year);	return 0;}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

5.小程序开发定制打点滴实验

#include<iostream>using namespace std;void calculate(int V){	int num = 1, time = 2, sum = 0;	while (V-num > 0) {		V -= num;		num++;		sum += time;		time++;	}	if (V > 0) {		sum += V;	}	cout << sum << endl;}int main(){	int V;	cin >> V;	calculate(V);	return 0;}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

6.小程序开发定制母牛生小牛,小程序开发定制四年生一头

#include<iostream>using namespace std;int func(int N){	if (N < 4)	{		return 1;	}	else	{		return func(N - 1) + func(N - 3);	}}int main(){	int N;	cin >> N;	cout << func(N);	return 0;}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

7.输出1-100(每行十个),并输出序号为素数的元素(一行十个)

代码一:

#include<iostream>using namespace std;int main() {	int arr[100];	for (int i = 0; i < 100; i++)	{		arr[i] = i+1;	}	for (int i = 0; i <100; i+=10)	{		for (int j = 0; j < 9; j++)		{			cout << arr[i + j]<<" ";		}		cout << arr[i + 9] << endl;	}//寻找100以内素数	int arr1[50];	int temp = 0, count = 0;	for (int i = 2; i <= 100; i++)	{		for (int j = 2; j < i; j++)		{			if (i % j == 0)			{				temp = 1;				break;			}		}		if (temp == 0)		{			count++;			arr1[count-1] = i;		}		temp = 0;	}		cout << arr[arr1[0]] << " ";	for (int i = 1; i<count; i++)	{		if (i % 10 != 9) 		{			cout << arr[arr1[i]] << " ";		}		else		{			cout << arr[arr1[i]] << endl;		}	}	return 0;}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52

代码二:

#include<iostream>using namespace std;int main(){	int a[100];	int n = 1;	for (int i = 0; i < 100; i++)	{		a[i] = n;		n++;	}	for (int i = 0; i < 100; )	{		for (int j = 0; j < 9; j++)		{			cout << a[i] << " ";			i++;		}		cout << a[i++] << endl;	}	int m = 1;	cout << 3 << " ";	for (int i = 3; i < 100; i++)	{		int sum = 0;		for (int j = 2; j < i / 2 + 1; j++)		{			int x;			x = i % j;			if (x == 0)				sum++;		}		if (sum == 0)		{			m++;			if (m < 10)				cout << a[i] << " ";			else if (m >= 10)			{				m = 0;				cout << a[i] << endl;			}		}	}	return 0;}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48

8.仓库结算
某仓库共有ABCDE五种货物,每天需要补货的数量不同,每种货物的单价不同,如下所示。由键盘输入五种货物需要补货的数量,请计算出当日仓库需支付多少货款。
货物名称 货物单价
A 10
B 5
C 3
D 20
E 13

#include<iostream>using namespace std;int main(){	int m, sum = 0;	char P;	for (int i = 0; i < 5; i++)	{		cin >> P >> m;		switch (P)		{		case'A':			sum += 10 * m;			break;		case'B':			sum += 5 * m;			break;		case'C':			sum += 3 * m;			break;		case'D':			sum += 20 * m;			break;		case'E':			sum += 13 * m;			break;		}	}	cout << sum << endl;	return 0;}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

9.编写一个评分统计程序。从键盘获取8个评委打分的百分制成绩(double类型),统计平均分时,去掉一个最高分和一个最低分其余6个分数的平均值即为最后得分。请将这个分数输出到屏幕上,格式为:平均成绩是XXX。

#include<iostream>using namespace std;void func(double arr[]){	int num = 7, num1;	double sum = 0;	while (num)	{		num1 = num;		num = 0;		for (int i = 0; i < num1; i++)		{			if (arr[i]<arr[i+1])			{				double temp = arr[i];				arr[i] = arr[i + 1];				arr[i + 1] = temp;				num = i;			}		}	}	for (int i = 1; i < 7; i++)	{		sum += arr[i];	}	cout <<"平均成绩是"<< sum / 6 << endl;}int main(){	double score[8];	for (int i = 0; i < 8; i++) 	{		cin >> score[i];	}	func(score);	return 0;}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38

10.编写一个记录5个学生的姓名、性别、年龄和学号的程序,要求使用结构数组表示学生信息,用for循环获得键盘输入的学生记录的数据,所有数据输入完毕后,将5个学生的信息在屏幕上输出,格式要求:按表格行列格式输出,每行输出一个学生的信息,按照姓名、性别、年龄、学号的顺序,各列信息左对齐,各信息占10位。

#include<iostream>#include<iomanip>#include<string>using namespace std;struct Student{	string name;	string sex;	int age;	string number;};Student P[5];int main(){	for (int i = 0; i < 5; i++)	{		cin >> P[i].name >> P[i].sex >> P[i].age >> P[i].number;	}	for (int i = 0; i < 5; i++)	{		cout << setiosflags(ios::left)			<< setw(10) << P[i].name			<< setw(10) << P[i].sex			<< setw(10) << P[i].age			<< setw(10) << P[i].number << endl;	}	return 0;}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

11.定义一个结构型变量(包括年、月、日),并从键盘上获取该变量的值,计算该日在本年中是第几天,输出到屏幕上,格式为:“X年X月X日是本年中的第X天。”(提示:注意闰年问题)。

代码一:

#include<iostream>using namespace std;class Date{	friend void func(Date *p);public:	Date(int y, int m, int d)	{		this->year = y;		this->month = m;		this->day = d;	}	int year;	int month;	int day;};int judgement(int y){	if (y % 400 == 0 || y % 4 == 0 && y % 100 != 0) {		return 1;	}	else {		return 0;	}}void func(Date &p){	int arr[12];	int sum = 0;	if (judgement(p.year)) 	{		arr[1] = 29;	}	else {		arr[1] = 28;	}	arr[0] = arr[2] = arr[4] = arr[6] = arr[7] = arr[9] = arr[11] = 31;	arr[3] = arr[5] = arr[8] = arr[10] = 30;	for (int i = 0; i < p.month - 1; i++)	{		sum += arr[i];	}	sum += p.day;	cout << p.year << "年" << p.month << "月" << p.day << "日是本年中的第" << sum << "天" << endl;}int main(){	int y, m, d;	cin >> y >> m >> d;	Date a(y, m, d);	func(a);	return 0;}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56

代码二:

#include<iostream>using namespace std;struct Date{	int year;	int month;	int day;};bool judge(int y){	int sum = 0;	if (y % 100 == 0)	{		if (y % 400 == 0)return true;		else return false;	}	else {		if (y % 4 == 0)return true;		else return false;	}}int main(){	Date d;	cin >> d.year >> d.month >> d.day;	int a[12];	if (judge(d.year))	{		a[1] = 29;	}	else	{		a[1] = 28;	}	a[0] = a[2] = a[4] = a[6] = a[7] = a[9] = a[11] = 31;	a[3] = a[5] = a[8] = a[10] = 30;	int sum = 0;	for (int i = 0; i < d.month - 1; i++)	{		sum += a[i];	}	sum += d.day;	cout << d.year << "年" << d.month << "月" << d.day << "日是本年中的第" << sum << "天" << endl;	return 0;}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46

12.从键盘输入一行或几行字符串,行数由键盘输入,一行字符串用字符数组存储。请统计所输入的字符串中26个字母(不区分大小写)出现的次数,并将出现次数非零的字母统计结果输出到屏幕上,格式参见样例。如果没有字母,请输出字符串中无字母。

代码一:

#include<iostream>using namespace std;int main(){	const int N = 80;	char buffer[N];	int k = 0;	const int NUM = 26;	int counts[NUM] = { 0 };	char letters[NUM];	int i = 0;	int count = 0;	int num;	cin >> num;	do {		cin.getline(buffer, N, '');		k = 0;		while (buffer[k] != '\0')		{			if (tolower(buffer[k]) >= 'a' && tolower(buffer[k]) <= 'z')			{				i = tolower(buffer[k]) - 'a';				counts[i]++;			}			k++;		}		num--;	} while (num >= 0);	for (i = 0; i < NUM; i++) {		letters[i] = char('a' + i);		if (counts[i] > 0)		{			count++;			cout << letters[i] << ":" << counts[i] << endl;		}	}	if (count == 0) {		cout << "字符串中无字母。" << endl;	}}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43

代码二:

#include<iostream>using namespace std;int b[26] = { 0 };void func(char a){	if (a >= 'a' && a <= 'z')	{		b[a - 'a']++;	}	else if (a >= 'A' && a <= 'Z')	{		b[a - 'A']++;	}}int main(){	int n;	cin >> n;	char a[100] = { 0 };	for (int i = 0; i < n + 1; i++)	{		cin.getline(a, 100, '');		int j = 0;		while (a[j] != '\0')		{			func(a[j]);			j++;		}	}	int count = 0;//判断有无字母	for (int i = 0; i < 26; i++)	{		if (b[i] != 0)		{			cout << char(i + 'a') << ":" << b[i] << endl;			count++;		}	}	if (count == 0)	{		cout << "字符串中无字母。" << endl;	}	return 0;}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45

13.温度转换

#include<iostream>using namespace std;int main(){	double F, C;	cin >> F;	C = (F - 32) / 1.8;	cout << C << endl;	return 0;}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

14.斐波那契数列

递归版:

#include<iostream>using namespace std;int Fabo(int x){	int sum = 0;	if (x == 0)sum = 0;	else if (x == 1)sum = 1;	else sum = sum + Fabo(x - 1) + Fabo(x - 2);	return sum;}int main(){	int x;	cin >> x;	cout << Fabo(x) << endl;}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

非递归版:

#include<iostream>using namespace std;void func(int n){	if (n == 0)	{		cout << 0 << endl;	}	else if (n == 1 || n == 2) 	{		cout << 1 << endl;	}	else	{		int a = 1, b = 1, temp = 0;		for (int i = 3; i <= n; i++)		{			temp = a + b;			a = b;			b = temp;		}		cout << temp << endl;	}}int main(){	int n;	cin >> n;	func(n);	return 0;}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

15.有10个小朋友围成一圈分糖果,老师顺次分给每人一定数量糖果(初始值为偶数)然后按照下列规则调整,所有小朋友同时把自己的糖果分一半给右边的人,糖果数变为奇数的人,向老师补要一块糖果,问经过多少次调整后,大家糖果数一样多,且每人多少块。建立两个函数,一个负责传递糖果,一个负责判断所有人的糖果是否相等。

#include<iostream>using namespace std;void func(int arr[],int *arr1) {	for (int i = 1; i < 10; i++)	{		arr1[i] = arr[i] / 2 + arr[i - 1] / 2;	}	arr1[0] = arr[0] / 2 + arr[9] / 2;	for (int i = 0; i < 10; i++) 	{		if (arr1[i] % 2 != 0)		{			arr1[i]++;		}	}	for (int i = 0; i < 10; i++)	{		arr[i] = arr1[i];	}}int judgement(int arr[]){	for (int i = 0; i < 10; i++)	{		if (arr[i] != arr[0])		{			return 1;		}	}	return 0;}int main(){	int count = 0;	int arr[10] = { 0 };	int *arr1 =new int[10];	for (int i = 0; i < 10; i++)	{		cin >> arr[i];	}	while (judgement(arr))	{		func(arr,arr1);		count++;	}	cout << count <<" "<<arr[0]<< endl;	system("pause");	return 0;}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50

16.歌手大奖赛共有10位评委,为每位选手打分(double型)。
预赛部分歌手的分数,为去掉1个最高分、1个最低分后其余8个分数的平均值;
决赛部分歌手的分数,为去掉2个最高分、2个最低分后其余6个分数的平均值。
通过键盘输入10位评委的打分,以及当前处于哪个阶段(预赛部分用1表示,决赛部分用2表示)。
主函数中,只负责输入数据、调用分数计算函数、输出结果,评分计算部分编写独立函数完成。

#include<iostream>using namespace std;void func(double* p){	for (int i = 0; i < 9; i++)	{		for (int j = 0; j < 9 - i; j++)		{			double temp;			temp = p[j];			p[j] = p[j + 1];			p[j + 1] = temp;		}	}}double js(double* p){	double sum = 0;	for (int i = 2; i < 8; i++)	{		sum += p[i];	}	return sum / 6.0;}double ys(double* p){	double sum = 0;	for (int i = 1; i < 9; i++)	{		sum += p[i];	}	return sum / 8.0;}int main() {	double* p = new double[10];	for (int i = 0; i < 10; i++)	{		cin >> p[i];	}	int x;	cin >> x;	if (x == 1) {		cout << ys(p) << endl;	}	if (x == 2) {		cout << js(p) << endl;	}	delete[]p;	return 0;}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54

17.编写一个函数get_average()获取整型数组元素的平均值。
要求这个函数既可以用来求一维数组元素的平均值,
也可以求二维数组元素的平均值。
在main()函数中通过具体的一维数组Array_1D和二维数组Array_2D测试这个函数。
假定一维数组为a[5],二维数组为b[2][3],一维数组和二维数组的变量值由键盘分别输入,
在屏幕上输出一维数组和二维数组的平均值,平均值间用一个空格分开。

#include<iostream>using namespace std;int main(){		double sum1 = 0, sum2 = 0;	int a[5];	int b[2][3];	for (int i = 0; i < 5; i++)	{		cin >> a[i];		sum1 += a[i];	}	for (int i = 0; i < 2; i++)	{		for (int j = 0; j < 3; j++)		{			cin >> b[i][j];			sum2 += b[i][j];		}	}	cout << sum1 / 5 << " " << sum2 / 6 << endl;	return 0;}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

18.编制程序,调用指针作为参数的函数,实现下面两字符串变量的交换。 char* ap=“hello”; char* bp=“how are you”;
交换的结果为:ap 指向"how are you",bp 指向"hello"。 (注意:输出语句中的;和.为英文符号)

#include<iostream>using namespace std;void swap(char* a, char* b){	char* t;	t = a;	a = b;	b = t;}int main(){	const char* ap = "hello.";	const char* bp = "how are you;";	swap(ap, bp);	cout << "ap指向" << ap << endl;	cout << "bp指向" << bp << endl;	return 0;}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

19.用字符指针数组,将给定的5个字符串(可以是任意5个国家名字)进行排序并输出。

#include <iostream>using namespace std;int main() {	char* name[5];	char arr[5][100];	for (int i = 0; i < 5; i++)	{		cin >> arr[i];	}	for (int i = 0; i < 5; i++)	{		name[i] = arr[i];	}	for (int i = 0; i < 5; i++)	{		for (int j = 0; j < 4 - i; j++)		{			if (*name[j]>*name[j+1]) 			{				char* t = name[j];				name[j] = name[j + 1];				name[j + 1] = t;			}		}	}	for (int i = 0; i < 5; i++)	{		cout << name[i] << endl;	}	return 0;}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

20.已知有3名学生及五门课程的成绩,要求根据学生的各科平均分排序(降序),并输出学生的所有信息和平均分(用指针数组完成)。

#include <iostream>using namespace std;struct student {	char name[10];	int score[5];	float aver;};student a[3];int main() {	for (int i = 0; i < 3; i++)	{		cin >> a[i].name;		float num = 0;		for (int j = 0; j < 5; j++) 		{			cin >> a[i].score[j];			num += (float)a[i].score[j];		}		a[i].aver = num / 5;	}	student* p[3];	for (int i = 0; i < 3; i++)	{		p[i] = &a[i];	}	for (int i = 0; i < 2; i++)	{		for (int j = 0; j < 2 - i; j++)		{			if (p[j]->aver < p[j + 1]->aver) {				student* temp;				temp = p[j];				p[j] = p[j + 1];				p[j + 1] = temp;			}		}	}	for (int i = 0; i < 3; i++) 	{		cout << p[i]->name << " ";		for (int j = 0; j < 5; j++)		{			cout << p[i]->score[j] << " ";		}		cout << p[i]->aver << endl;	}	return 0;}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48

21.请编写函数实现将一个数值插入到数组中适当的位置,使新数组按降序排列,并将插入的位置输出到屏幕上。 说明:1)原数组大小和数值由键盘输入,动态创建数组; 2)插入的数值由键盘输入。
3)如果插入数据与原数组中某数据相同,则插在该数据之前。

#include<iostream>using namespace std;int main(){	int num,num1;	cin >> num;	int* p = new int[100];	int* x = new int[100];	for (int i = 0; i < num; i++)	{		cin >> p[i];	}	for (int i = 0; i < num - 1; i++)	{		for (int j = 0; j < num - i - 1; j++)		{			if (p[j] < p[j + 1])			{				int temp = p[j];				p[j] = p[j + 1];				p[j + 1] = temp;			}		}	}	cin >> num1;	x[0] = num1;	for (int i = 0; i < num; i++)	{		x[i + 1] = p[i];	}	int count = 1;	for (int i = 0; i < num ; i++)	{		if (x[i] < x[i + 1])		{			int temp = x[i];			x[i] = x[i + 1];			x[i + 1] = temp;			count++;		}	}	cout << count << endl;	system("pause");	return 0;}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45

22.老王的密码

#include<iostream>using namespace std;int main(){	int num = 0;	char* p = new char[100];	cin >> p;	for (int i = 0; i < 100; i++)	{		if (p[i] == NULL) {			num = i;			break;		}	}	for (int i = 0; i < num; i++) {		if (p[i] >= 'a' && p[i] <= 'z') 		{			if (p[i] >= 'a' && p[i] <= 'c')			{				p[i] = '2';			}			else if(p[i] >= 'd' && p[i] <= 'f')			{				p[i] = '3';			}			else if (p[i] >= 'g' && p[i] <= 'i')			{				p[i] = '4';			}			else if (p[i] >= 'j' && p[i] <= 'l')			{				p[i] = '5';			}			else if (p[i] >= 'm' && p[i] <= 'o')			{				p[i] = '6';			}			else if (p[i] >= 'p' && p[i] <= 's')			{				p[i] = '7';			}			else if (p[i] >= 't' && p[i] <= 'v')			{				p[i] = '8';			}			else			{				p[i] = '9';			}		}		else if (p[i] >= 'A' && p[i] <= 'Z') {			p[i] = p[i] + 33;		}		else		{			p[i] = p[i];		}	}	for (int i = 0; i < num; i++) {		cout << p[i];	}			  	system("pause");	return 0;}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65

23.矩形类

#include<iostream>using namespace std;class Rec {public:	Rec(double R_len,double R_wid) {		this->R_len = R_len;		this->R_wid = R_wid;		this->S = this->R_len * this->R_wid;	}	double R_len;	double R_wid;	double S;	Rec compare(Rec rec1, Rec rec2);};Rec Rec::compare(Rec rec1, Rec rec2) {	if (rec1.S > rec2.S) {		return rec1;	}	else {		return rec2;	}}int main() {	double l, w;	cin >> l >> w;	Rec rec1(5.2,4.3);	Rec rec2(100,20);	Rec rec3(l, w);	cout <<(rec1.compare(rec1.compare(rec1,rec2),rec3)).S << endl;	system("pause");	return 0;}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34

24.三角类

#include<iostream>using namespace std;class Tri {public:	Tri(int a, int b, int c) {		this->L1 = a;		this->L2 = b;		this->L3 = c;	}	int L1;	int L2;	int L3;	void judgement(int a1, int a2, int a3);};void Tri::judgement(int a1,int a2,int a3) {	if ((a1 + a2 > a3) && (a1 + a3 > a2) && (a2 + a3 > a1)) {		if (a1 == a2 && a2== a3) {			cout << "A equileteral triangle" << endl;		}		else if ((a1 == a2)  | (a1 == a3) | (a2 == a3) ) {			cout << "A isosceles triangle" << endl;		}		else if ((a1 * a1 == a2 * a2 + a3 * a3) || (a2 * a2 == a1 * a1 + a3 * a3) || (a3 * a3 == a2 * a2 + a1 * a1)) {			cout << "A right triangle" << endl;		}		else {			cout << "A triangle" << endl;		}	}	else {		cout << "Not a triangle" << endl;	}}int main() {	int a, b, c;	cin >> a >> b >> c;	Tri S(a, b, c);	S.judgement(S.L1, S.L2, S.L3);	system("pause");	return 0;}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42

25.时间类

#include<iostream>using namespace std;class Time {public:	Time(int a, int b, int c);	void func(bool d);	int Year;	int Month;	int Day;};Time::Time(int a, int b, int c) {	this->Year = a;	this->Month = b;	this->Day = c;}void Time::func(bool d) {	if (d == true) {		cout << Year << "-" << Month << "-" << Day << endl;	}	else {		cout << Year << "年" << Month << "月" << Day << "日" << endl;	}}int main() {	char str[15];	int a, b, c, i;	bool e;	cin >> a >> b >> c>> str;		for (i = 0; str[i]; i++)		{			if (str[i] == '.')				break;		}		if (str[i])			e = false;		else			e = true;	Time T(a, b, c);	T.func(e);	system("pause");	return 0;}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43

26.员工薪金管理类

#include<iostream>#include<string>using namespace std;class employee{public:	int num;	string name;	int money;	int year;	int month;	int day;	employee(int a, std::string b, int c, int d, int e, int f)	{		this->num = a;		this->name = b;		this->money = c;		this->year = d;		this->month = e;		this->day = f;	}	int sum(int x, int y);};int employee::sum(int x, int y){	int time = (x - year) * 12 + y - month;	int sum = time * money;	return sum;}int main(){	employee a(1, "wang", 5000, 2000, 10, 23);	employee b(2, "liu", 4500, 2008, 1, 20);	employee c(3, "huo", 3800, 2003, 7, 3);	employee d(4, "ma", 5300, 2015, 4, 10);	employee e(5, "meng", 6000, 2016, 3, 16);	int x, y, z;	cin >> x >> y >> z;	switch (x) {	case 1:		cout << a.name << " " << a.sum(y, z) << endl;		break;	case 2:		cout << b.name << " " << b.sum(y, z) << endl;		break;	case 3:		cout << c.name << " " << c.sum(y, z) << endl;		break;	case 4:		cout << d.name << " " << d.sum(y, z) << endl;		break;	case 5:		cout << e.name << " " << e.sum(y, z) << endl;		break;	}	return 0;}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58

以上就是一些题目,不敢保证代码写的很完美,仅供参考。

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发