我想输出变量所在的行数,有没有帅哥美女帮个忙指导一下,以下是代码
#include<bits/stdc++.h>
using namespace std;
int c[1005];
int m[1005];
int e[1005];
int main(){
int n;
int maxc=0,maxm=0,maxe=0;
cin>>n;
for(int i=1;i<=n;i++){
cin>>c[i]>>m[i]>>e[i];
if(c[i]>maxc){
maxc=c[i];
}
if(m[i]>maxm){
maxm=m[i];
}
if(e[i]>maxe){
maxe=e[i];
}
}
cout<<maxc<<" "<<maxm<<" "<<maxe;
return 0;
}
我想输出maxc,maxm和maxe所在的行数,但每次都是输出n的值
你说在代码里的行数?
引用 皆我百晓生 小程序回复内容作答:
你可以使用一个变量来记录maxc、maxm和maxe所在的行数。在每次更新maxc、maxm和maxe的时候,同时更新记录行数的变量。以下是修改后的代码示例:
#include<bits/stdc++.h>
using namespace std;
int c[1005];
int m[1005];
int e[1005];
int main() {
int n;
int maxc = 0, maxm = 0, maxe = 0;
int line_maxc = 0, line_maxm = 0, line_maxe = 0; // 记录maxc、maxm和maxe所在的行数
cin >> n;
for (int i = 1; i <= n; i++) {
cin >> c[i] >> m[i] >> e[i];
if (c[i] > maxc) {
maxc = c[i];
line_maxc = i;
}
if (m[i] > maxm) {
maxm = m[i];
line_maxm = i;
}
if (e[i] > maxe) {
maxe = e[i];
line_maxe = i;
}
}
cout << 'maxc: ' << maxc << ' (line ' << line_maxc << ')' << endl;
cout << 'maxm: ' << maxm << ' (line ' << line_maxm << ')' << endl;
cout << 'maxe: ' << maxe << ' (line ' << line_maxe << ')' << endl;
return 0;
}
这样,你就可以输出maxc、maxm和maxe所在的行数了。希望对你有帮助!
【以下回答由 GPT 生成】
你想要输出变量 maxc
、maxm
和 maxe
所在的行数,而不是输出它们的值。要实现这个需求,你可以使用 __LINE__
宏,它会返回当前行的行号。你可以像这样修改你的代码:
#include <bits/stdc++.h>
using namespace std;
int c[1005];
int m[1005];
int e[1005];
int main(){
int n;
int maxc = 0, maxm = 0, maxe = 0;
cin>>n;
for(int i=1; i<=n; i++){
cin>>c[i]>>m[i]>>e[i];
if(c[i] > maxc){
maxc = c[i];
}
if(m[i] > maxm){
maxm = m[i];
}
if(e[i] > maxe){
maxe = e[i];
}
}
cout<<"maxc is at line: "<<__LINE__<<endl;
cout<<"maxm is at line: "<<__LINE__<<endl;
cout<<"maxe is at line: "<<__LINE__<<endl;
return 0;
}
这样,你就可以在输出时获得变量所在的行号了。希望能对你有帮助!如果还有其他问题,请随时提问。
【相关推荐】
ci>c[ maxc]
maxc=i