A:
解题思路:
这题看似很复杂,其实很简单,找规律不难发现就是输出n + 1
下面是c++代码:
#include<iostream>
using namespace std;
int main()
{
int n;
cin >> n;
cout << n + 1;
return 0;
}
B:
解题思路:
几种情况
第一种:没得分,两个0
第二种:得分小于10,一个0
第三种:得分超过10,取模等于0,一个0
下面是c++代码:
#include<iostream>
using namespace std;
int main()
{
int sum = 0,red = 0,blue = 0;
string s;
cin >> s;
for(int i = 0;i < s.length();i++){
if(s[i] == 'a'){
red++;
}else{
blue++;
}
if(red == 0){
sum += 2;
}
if(blue == 0){
sum += 2;
}
if(red > 0 && red < 10){
sum += 1;
}
if(blue > 0 && blue < 10){
sum += 1;
}
if(red % 10 == 0 && red != 0){
sum += 1;
}
if(blue % 10 == 0 && blue != 0){
sum += 1;
}
}
cout << sum;
return 0;
}
C:
解题思路:
只要一条对角线上的数相同就输出“YES”,否则“NO”
下面是c++代码:
#include<iostream>
using namespace std;
int main()
{
int arr[2][2];
for(int i = 0;i < 2;i++){
for(int j = 0;j < 2;j++){
cin >> arr[i][j];
}
}
if(arr[0][0] == arr[1][1] || arr[0][1] == arr[1][0]){
cout << "YES";
}else{
cout << "NO";
}
return 0;
}
D:
解题思路:
额,小学加减法问题,不多说了
下面是c++代码:
#include<iostream>
using namespace std;
int main()
{
int a,b,c,d,e,A,B,C,D;
cin >> a >> b >> c >> d >> e >> A >> B >> C >> D;
if(a * A + b * B + c * C - d * D > e){
cout << "YES";
}else{
cout << "NO";
}
return 0;
}
E:
解题思路:
将六个元音字母按大小顺序存放在一个数组里,遍历字符串,当某个字符不是元音字母时,倒着遍历元音数组,找到小于这个字符的元音字母,就将这个元音字母赋给当前字符,结束循环,判断下一个字符,注意一个坑,题目要求多组输入,换行输出,我在这里吃了亏。
下面是c++代码:
#include<iostream>
using namespace std;
int main()
{
string s;
char arr[6] = {'a','e','i','o','u','y'};
while(cin >> s){
for(int i = 0;i < s.length();i++){
if(s[i] != 'a' && s[i] != 'a' && s[i] != 'e' && s[i] != 'i' && s[i] != 'o' && s[i] != 'u' && s[i] != 'y'){
for(int j = 6;j >= 0;j--){
if(arr[j] < s[i]){
s[i] = arr[j];
break;
}
}
}
}
cout << s << endl;
}
return 0;
}