第 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;}
在足球联赛里,一个球队赢下一场比赛得到3个积分,打平一场比赛得到1个积分,输掉比赛得到0分。现已知一个球队在整个联赛里的比赛情况,求该球队最终的积分。输入三个整数x,y,z,以空格分开,分别表示这个球队赢下的比赛场数,打平的比赛场数,输掉的比赛场数。(0 ≤x,y,z ≤ 40)输出一个整数,表示该球队最终的积分。#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;}