任意输入 n 个整数,把它们的最大值,最小值求出来.

任意输入若干 个整数,把它们的最大值,最小值求出来.

输入格式
输入只有一行,包括一个整数后面跟着 若干个数. 每个数的范围在0到32767之间。

输出格式
输出只有一行,包括2个整数。

输入输出样例
样例 1
输入样例 复制
5 1 99 3 6 0
输出样例 复制
99 0
我的代码:

#include 
using namespace std;
int m[10000000];
int main () {
    int d = -100000000, x = 100000000;
    int d2, x2;
    int n;
    cin >> n;
    for (int i = 1;i <= n;i++) {
        cin >> m[i];
    }
```c++


for (int i = 1;i <= n;i++) {
    if (m[i] > d) {
        d = m[i];
        d2 = i;
    }
}
for (int i = 1;i <= n;i++) {
    if (m[i] < x) {
        x = m[i];
        x2 = i;
    }
}
cout << d << " " << x;
return 0;

}

运行结果:

0分

哪位大佬帮我看一下!

数组的起下标和结束下标错了,改为起始为0,结束为n-1;然后最大值和最小值的初始值可以改为每个数输入范围相应的极限值即可,修改如下:

#include <iostream>
using namespace std;
int main () {
    int d = 0, x = 32767;
    int d2, x2;
    int n;
    cin >> n;
    int m[n];
    
    for (int i = 1;i <= n;i++) {
        cin >> m[i-1];
    }
    
    for (int i = 1;i <= n;i++) {
        if (m[i-1] > d) {
            d = m[i-1];
           // d2 = i;
        }
    }
    
    
    for (int i = 1;i <= n;i++) {
        if (m[i-1] < x) {
            x = m[i-1];
          //  x2 = i;
        }
    }
    
    cout << d << " " << x;
    return 0;
}

img

哪还有n啊,没有告诉你输入多少个数啊。

#include <iostream>
using namespace std;
int main()
{
    int a,max,min;
    cin>>a;
    max = min = a;
    while(getchar() != '\n')
    {
        cin>>a;
        if(max < a)
            max = a;
        if(min > a)
            min = a;
    }
    cout<<"max="<<max<<",min="<<min<<endl;
}