得分最高的击球手名字 - C++ [关闭]
Posted
技术标签:
【中文标题】得分最高的击球手名字 - C++ [关闭]【英文标题】:Top Scoring Batsman Name - C++ [closed] 【发布时间】:2020-04-21 15:24:08 【问题描述】:得分最高的击球手姓名 - C++
板球队的 N 名击球手得分作为输入传递给程序。程序必须打印得分最高的击球手的名字。 (你可以假设没有两个击球手会是最佳射手)
#include <bits/stdc++.h>
using namespace std;
int main(int argc, char** argv)
//Defines no of batsmen
int n;
cin>>n;
//Define names of batsmen and their runs
string s[100];
int r[100];
//Getting inputs
for(int i=0;i<n;i++)
scanf("%s,%d",&s[i],&r[i]);
// //Assign a value to int max variable
int max=r[0];
int location=0;
//find max value
for(int i=1;i<n;i++)
if(r[i] > max)
max = r[i];
location = i;
cout<<s[location];
输入格式:第一行表示 N 的值。接下来的 N 行将包含击球手的姓名和得分(均以逗号分隔)。
输出格式:第一行包含得分最高的击球手的名字。
示例输入/输出 1:
Input:
5
BatsmanA,45
BatsmanB,52
BatsmanC,12
BatsmanD,9
BatsmanE,78
Output: BatsmanE
【问题讨论】:
您好,所以不会完成作业,但我们可以回答您可能对编程提出的具体问题。请编辑此内容,以便您询问一个概念。 推荐阅读: Why should I not #include <bits/stdc++.h>? 我还可以推荐一个good C++ book吗?因此,您可以学习如何编写正确的 C++,而不是这种奇怪的 C 函数和样式混合。 【参考方案1】:您无法使用scanf
读取std::string
,因为scanf
是一个C 函数并且对std::string
这是一个C++ 类一无所知。
string s[100];
scanf("%s,%d",&s[i],&r[i]);
改用 C++ I/O
char comma;
cin >> s[i] >> comma >> r[i];
改为。
【讨论】:
以上是关于得分最高的击球手名字 - C++ [关闭]的主要内容,如果未能解决你的问题,请参考以下文章