C++1级考试真题参考答案(2024年3月)
- 2026-10-02 10:07:20
C++1级考试真题参考答案(2024年3月)第 2 题 在足球联赛里,一个球队赢下一场比赛得到3个积分,打平一场比赛得到1个积分,输掉比赛得到0分。现已知一个球队在整个联赛里的比赛情况,求该球队最终的积分。输入三个整数x,y,z,以空格分开,分别表示这个球队赢下的比赛场数,打平的比赛场数,输掉的比赛场数。(0 ≤x,y,z ≤ 40)输出一个整数,表示该球队最终的积分。 我的答案:
第 1 题
输入一行4个整数a、b、c、d,以空格分隔。 0 < a,b,c,d < 108。输出一行4个整数d、c、b、a,整数之间以一个空格分隔。
我的答案:
#include<iostream>using namespace std;intmain(){int a, b, c, d;cin >> a >> b >> c >> d;// 直接按照要求的顺序输出cout << d << " " << c << " " << b << " " << a << endl; // [[1]]return 0;}
#include<iostream>using namespace std;intmain(){int x, y, z;// 定义变量存储赢、平、输的场次cin >> x >> y >> z;// 核心公式:积分 = 赢场数*3 + 平场数*1 + 输场数*0// 注意:乘以0的部分可以省略不写,保留是为了逻辑清晰int scores = x * 3 + y * 1 + z * 0;cout << scores << endl;return 0;}
第 3 题
你买了一箱n个苹果,很不幸的是买完时箱子里混进了一条虫子。虫子每x小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时你还有多少个完整的苹果?输入仅一行,包括n,x和y(均为整数)。输出也仅一行,剩下的苹果个数。
我的答案:
#include<iostream>using namespace std;intmain(){int n, x, y;cin >> n >> x >> y;int eaten = (y + x - 1) / x;int remain = n - eaten;cout << remain << endl;return 0;}
第 4 题
给定k(1 < k < 100)个正整数,其中每个数都是大于等于1,小于等于10的数。写程序计算给定的k个正整数中,1,5和10出现的次数。输入有两行:第一行包含一个正整数k,第二行包含k个正整数,每两个正整数用一个空格分开。输出有三行,第一行为1出现的次数,第二行为5出现的次数,第三行为10出现的次数。
我的答案:
普通版:
#include<iostream>using namespace std;intmain(){int k,cnt1,cnt5,cnt10;cnt1=cnt5=cnt10=0;cin>>k;for(int i=1; i<=k; i++){int num;cin>>num;if(num==1) cnt1++;else if(num==5) cnt5++;else if(num==10) cnt10++;}cout<<cnt1<<endl;cout<<cnt5<<endl;cout<<cnt10<<endl;return 0;}
数组版:
#include<bits/stdc++.h>// 竞赛中常用的万能头文件using namespace std;intmain(){int k, num;int cnt[11] = {0}; // 初始化数组,所有计数器清零cin>>k;for(int i=0; i<k; i++){cin>>num;if(num>=1 && num<=10) cnt[num]++; // 只有在范围内的数才计数}cout<<cnt[1]<<endl;cout<<cnt[5]<<endl;cout<<cnt[10]<<endl;return 0;}
第 5 题
编写程序,按从小到大的顺序寻找同时符合条件1和2的所有3位数,条件为:1.该数为完全平方数2.该数至少有2位数字相同。输入一个数n,n的大小不超过实际满足条件的3位数的个数。输出为第n个满足条件的3位数(升序)
我的答案:
#include<iostream>using namespace std;intmain(){int n,cnt=0;cin>>n;for(int i=10;i*i<=999;i++){int x=i*i;int ge=x%10;int shi=x/10%10;int bai=x/100;if(ge==shi || shi==bai || ge==bai){cnt++;if(cnt==n){cout<<x<<endl;break;}}}return 0;}
本文来自网友投稿或网络内容,如有侵犯您的权益请联系我们删除,联系邮箱:wyl860211@qq.com 。