C++练习(5道)

今天来练习一下C++(有错请指出)

C++练习(5道)_第1张图片

1.练50.1 查分程序

题目描述

尼克,格莱尔等5位同学进行了一次信息学测试,试编一程序,实现查分功能。先输入成绩,然后输入学号输入相应的成绩。

输入

a1∼a5的成绩,并输入学号1∼5。

输出

输出该学号成绩

样例输入 复制
99 98 99 100 92
3
样例输出 复制
99
思路:

输入a数组,输入x,输出a[x-1];

代码:

#include
using namespace std;
int main()
{
    int a[5],x;
    for (int i = 0; i < 5; i++) {
        cin>>a[i];
    }
    cin>>x;
    cout<

2.【入门】象棋比赛

    题目描述

    两位同学进行了n场的象棋比赛(3<=n<=9,且n是奇数),他们的参赛号分别是10和20,每场比赛都有一位胜出的同学(也就是不存在平局的情况),请问最终哪位同学取得了胜利?

    输入

第1行有一个整数n,代表举办比赛的次数。

第2行有n个整数(这n个整数一定是10或者是20,代表获得胜利同学的参赛号)。

    输出

    输出获得胜利同学的参赛号。

    样例输入 复制
5 10 10 20 10 20
    样例输出 复制
10

思路: 

代码:

#include
using namespace std;
int n,a[15],t[25],maxn,k;
int main() {
    cin>>n;
	for (int i=0;i>a[i];
	for (int i=0;imaxn) {
			maxn=t[a[i]];
			k=a[i];
		}
	}
	cout<

3.【入门】求和

题目描述

输入n( 1 <= n <= 5000 )个正整数,每个数都在1到20000之间;要求对这n个数中的奇数和偶数分别求和。

输入

第一行,一个正整数n(1 <= n <= 5000 ); 第2-n+1行,每行一个正整数,每个数都在1到20000之间。

输出

输出文件共有二行,每行包含一个整数,第一行为所有奇数之和,第二行为所有偶数之和。

样例输入 复制
5
3
10
7
5
8
样例输出 复制
15
18

思路:

循环+判断

代码:

#include   
using namespace std;
int main() {
	int n;
	cin >> n;
	int odd_sum = 0, even_sum = 0;
	for (int i = 0; i < n; i++) {
		int num;
		cin >> num;
		if (num % 2 == 0) {
			even_sum += num;
		} else {
			odd_sum += num;
		}
	}
	cout << odd_sum << endl;
	cout << even_sum << endl;
	return 0;
}

4.【入门】字母直角1

题目描述

输入一个整数n,打印n行的字母直角。

比如,假设n=3,那么打印3行的字母直角如下:

A

AB

ABC

输入

一个整数(0

输出

n行的字符直角

样例输入 复制
3
样例输出 复制
A
AB
ABC

思路:

定义一个字符变量a = "A",循环输出a+j

代码:

#include 
using namespace std;
int main() {
	char a = 'A';
	int b;
	cin>>b;
	for (int i = 1;i<=b;i++) {
		for (int j = 0;j< i;j++) {
			cout<

5.【基础】神奇的6174

题目描述

数学中有一个数字6174,这是一个神奇的数字。这个数字神奇之处在于,可以用一个任意的四位正整数(全相同的除外,如1111),将数字重新组合成一个最大的数和最小的数相减,重复这个过程,最多七步,必得6174。

得到6174后,再重复这个过程结果依然是6174,即:7641-1467=6174。

先给定一个四位整数(不是全相同的数),请你求解这个计算过程。

输入

一个四位整数。(不是全相同的数,且输入的整数不是6174)

输出

输出若干行,每行一个算式(参考样例输出),演示出计算的过程。

样例输入 复制
3120
样例输出 复制
3210-123=3087
8730-378=8352
8532-2358=6174

思路:按照题目来做。

代码:

#include
#include
using namespace std;
int a[10]= {0};
int main() {
	int n;
	cin>>n;
	while(n!=6174) {
		for (int i=1;i<=4;i++) {
			a[i]=n/1000;
			n=(n-a[i]*1000)*10;
		}
		for (int j=1;j<=4;++j)
		    for (int z=1;z<=4-j;++z)
		    if(a[z]

你可能感兴趣的:(C++,c++,C++练习)