编程题第二题讲解:
C++ 代码 A、B、C三人之间进行了若干场一对一的乒乓球比赛。比赛规则如下, 题目描述: 1)每场比赛为一对一形式,只有两人参与; 2)每场比赛的胜者加 10 分,败者扣 10 分; 3)初始时,三人的分数均为0分。 一行输入两个整数(-1000≤整数≤1000),分别表示比赛结束后A和B的分数,整数之间以一个空格隔开。 输出一个整数,表示C的分数
5 / 5
根据题目描述,A、B、C三人之间进行了若干场一对一的乒乓球比赛。每场比赛的胜者加10分,败者扣10分。初始时,三人的分数均为0分。
假设比赛结束后,A的分数为 scoreA
,B的分数为 scoreB
,我们需要计算C的分数 scoreC
。
由于每场比赛的总分变化为0(胜者+10,败者-10),所以所有比赛结束后,A、B、C三人的总分应该仍然为0。因此,我们可以通过以下公式计算C的分数:
scoreC=−(scoreA+scoreB)scoreC=−(scoreA+scoreB)
C++ 代码如下:
#include <iostream>
using namespace std;
int main() {
int A, B ,C;
cin >> A >> B;
C = 0- A -B;
cout << C ;
return 0;
}
示例输入输出:
-
输入:
20 -10
-
输出:
-10
解释:
-
A的分数为20,B的分数为-10。
-
根据公式,C的分数为
-(20 + (-10)) = -10
。
代码说明:
-
从输入中读取A和B的分数。
-
根据公式计算C的分数。
-
输出C的分数。
这个代码可以正确处理题目中给出的所有可能的输入情况。
编程题第三题讲解:
有n座山峰排成一行,从左到右依次编号为1至n、已知每座山峰的高度,请找出满足以下所有山峰中编号最大的那个。
条件:该山峰的左侧(即所有编号比它小的山峰)至少存在一座山峰的高度小于它
如果存在这样的山峰,输出其编号;否则,输出-1.
例1:n=5,从左到右每座山峰的高度依次为140,200,120,150,110;其中2号和4号山峰都满足条件,编号最大的是4号山峰。
例2:n=3,从左到右每座山峰的高度依次为 190,105,82,没有满足条件的山峰。
第一行输入一个整数n(1<=n<=500)表示山峰的数量
第二行输入 n 个整数 (1<=整数<=5000),表示从左到右每座山峰的高度,整数之间用空格隔开
输出一个整数,表示满足题目条件的最大山峰编号,如果没有满足条件的山峰泽输出-1
想做山峰那道题先会解下面的题:
步骤一:
100 30 22 50 200
上面五个数字,如果存在 右边大于左边的数字,把它输出