#include<iostream>
using namespace std;
#include<cstring>
int main()
{
int i,j,n,max=0,min=0;
int score[10];
string num[10];
string name[10];
cin>>n;
for(i = 0;i < n;i++){
cin>>name[i]>>num[i]>>score[i];
}
for(i =0;i < n;i++){
for(j = 0;j < n-i;j++){
if(score[j+1]>score[j])
max = j+1;
else if(score[i]<=score[0])
min = i;
}
}
cout<<name[max]<<" "<<num[max]<<endl;
cout<<name[min]<<" "<<num[min]<<endl;
return 0;
}
pat 乙级1004 我的代码总是显示 段错误,求前辈指点
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
你知我知皆知 2024-07-23 20:39关注以下回答参考 皆我百晓生、券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。
这段代码有一些问题。首先,
using namespace std;这行是不必要的,因为 C++ 的标准库已经包含在你的源文件中。其次,你需要检查int和string类型是否正确定义了。以下是修改后的代码:
#include<iostream> #include<string> using namespace std; int main() { int i, j, n; double max = 0.0, min = 999999999.0; string name[10], num[10]; cin >> n; for (i = 0; i < n; i++) { cin >> name[i] >> num[i] >> num[i].back() - '0'; // 将字符串转换为整数 stringstream ss(num[i]); ss >> max; min = ss.str().back(); } cout << "Max: " << name[max] << ", Min: " << name[min] << endl; return 0; }现在,你应该能够编译并运行这段代码了。
解决 无用评论 打赏 举报