一个非常简单的问题,求指导

我想输出变量所在的行数,有没有帅哥美女帮个忙指导一下,以下是代码


#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 生成】

你想要输出变量 maxcmaxmmaxe 所在的行数,而不是输出它们的值。要实现这个需求,你可以使用 __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