小言_互联网的博客

C++上机题汇总

520人阅读  评论(0)

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;
}

2.计算圆的周长和面积

#include<iostream>
using namespace std;
#define PI 3.14

class 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;
}

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;
}

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;
}

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;
}

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;
}

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;
}

代码二:

#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;
}

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;
}

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;
}

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;
}

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;
}

代码二:

#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;
}

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, '\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;
	}
}

代码二:

#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, '\n');
		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;
}

13.温度转换

#include<iostream>
using namespace std;
int main()
{
   
	double F, C;
	cin >> F;
	C = (F - 32) / 1.8;
	cout << C << endl;
	return 0;
}

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;
}

非递归版:

#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;
}

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;
}

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;

}

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;
}

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;
}

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;
}

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;
}

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;
}

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;
}

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;
}

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;
}

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;
}

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;
}


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


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