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
以上就是一些题目,不敢保证代码写的很完美,仅供参考。