回 帖 发 新 帖 刷新版面

主题:求解

为什么第一行输不出?除非把for循环里改成(i=-1;i<N-1;i++)      为什么???



#include<iostream>
using namespace std;
int main()
{
    const int M=4;
    const int N=4;
    double a[M][N]=
    {
        1,2,3,4,
        5,6,7,8,
        9,10,11,12,
        13,14,15,16

    };
    int i,j,k;
    cout<<"每行的最小值:"<<endl;
    for(i=0;i<N;i++)
    {
        k=0;
        for(j=1;j<M;j++)
            if(a[i][k]>a[i][j])
                k = j;   
            cout<<a[i][j]<<"\t";
        cout<<endl;
    }
}

回复列表 (共1个回复)

沙发

错误处:cout<<a[i][j]<<"\t";
要换成:cout<<a[i][k]<<"\t";

你的 k 才是保存了每行最小值的下标啊,当然是输出 a[i][k]

我来回复

您尚未登录,请登录后再回复。点此登录或注册