if 语句在 for 循环中不起作用

if statement doesn't work in for loop

好的,我有这个问题:如果不想工作,我不知道为什么。

程序应该从文件中获取一些数字,首先在第二行指出数字的数量,然后说出该行的最小值和最大值。

#include <iostream>
#include <fstream>


using namespace std;

int main()
{
 ifstream f("file.in");
 ofstream g("file.out");
 int minim,x,maxim,i,n;

 f>>n;
 f>>maxim;
 minim=maxim;

 for(i=2;i<=n;i++){
    f>>x;
    if(minim > x)x=minim;
    if(maxim < x)x=maxim;
 }
    g << "min=" << minim;
    g << "\n" << "max=" << maxim;
    f.close();
    g.close();

return 0;
}

问题是 "if" 根本不起作用。

抱歉英语不好

您的作业倒退了:

if(minim > x)x=minim;

应该是:

if(minim > x) minim=x;

您所拥有的是分配给 x 而不是保存新的最小值和最大值。