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

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


以上就是一些題目,不敢保證代碼寫的很完美,僅供參考。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章