今天来练习一下C++(有错请指出)
1.练50.1 查分程序
题目描述
尼克,格莱尔等5位同学进行了一次信息学测试,试编一程序,实现查分功能。先输入成绩,然后输入学号输入相应的成绩。
输入
a1∼a5的成绩,并输入学号1∼5。
输出
输出该学号成绩
样例输入 复制
99 98 99 100 92
3
样例输出 复制
99
思路:
输入a数组,输入x,输出a[x-1];
代码:
#include<iostream>
using namespace std;
int main()
{
int a[5],x;
for (int i = 0; i < 5; i++) {
cin>>a[i];
}
cin>>x;
cout<<a[x-1];
return 0;
}
2.【入门】象棋比赛
题目描述
两位同学进行了n场的象棋比赛(3<=n<=9,且n是奇数),他们的参赛号分别是10和20,每场比赛都有一位胜出的同学(也就是不存在平局的情况),请问最终哪位同学取得了胜利?
输入
第1行有一个整数n,代表举办比赛的次数。
第2行有n个整数(这n个整数一定是10或者是20,代表获得胜利同学的参赛号)。
输出
输出获得胜利同学的参赛号。
样例输入 复制
5 10 10 20 10 20
样例输出 复制
10
思路:
无
代码:
#include<bits/stdc++.h>
using namespace std;
int n,a[15],t[25],maxn,k;
int main() {
cin>>n;
for (int i=0;i<n;i++)
cin>>a[i];
for (int i=0;i<n;i++) {
t[a[i]]++;
if(t[a[i]]>maxn) {
maxn=t[a[i]];
k=a[i];
}
}
cout<<k;
return 0;
}
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 <iostream>
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<10)
输出
n行的字符直角
样例输入 复制
3
样例输出 复制
A
AB
ABC
思路:
定义一个字符变量a = "A",循环输出a+j
代码:
#include <iostream>
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<<char(a+j);
}
cout<<endl;
}
return 0;
}
5.【基础】神奇的6174
题目描述
数学中有一个数字6174,这是一个神奇的数字。这个数字神奇之处在于,可以用一个任意的四位正整数(全相同的除外,如1111),将数字重新组合成一个最大的数和最小的数相减,重复这个过程,最多七步,必得6174。
得到6174后,再重复这个过程结果依然是6174,即:7641-1467=6174。
先给定一个四位整数(不是全相同的数),请你求解这个计算过程。
输入
一个四位整数。(不是全相同的数,且输入的整数不是6174)
输出
输出若干行,每行一个算式(参考样例输出),演示出计算的过程。
样例输入 复制
3120
样例输出 复制
3210-123=3087
8730-378=8352
8532-2358=6174
思路:按照题目来做。
代码:
#include<iostream>
#include<cstdio>
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]<a[z+1]) {
int t=a[z];
a[z]=a[z+1];
a[z+1]=t;
}
n=(a[1]*1000+a[2]*100+a[3]*10+a[4])-(a[4]*1000+a[3]*100+a[2]*10+a[1]);
if(a[4]!=0)
cout<<a[1]<<a[2]<<a[3]<<a[4]<<"-"<<a[4]<<a[3]<<a[2]<<a[1]<<"="<<n<<endl;
else {
if(a[3]!=0) cout<<a[1]<<a[2]<<a[3]<<a[4]<<"-"<<a[3]<<a[2]<<a[1]<<"="<<n<<endl;
else cout<<a[1]<<a[2]<<a[3]<<a[4]<<"-"<<a[2]<<a[1]<<"="<<n<<endl;
}
}
return 0;
}
感谢您的观看,制作不易,点个赞呗
标签:输出,10,int,练习,样例,C++,6174,输入 From: https://blog.csdn.net/a_sdfghjk1234567/article/details/145086504