输入五个数,输出最大最小值

怎么运用数组啊?

img


编译显示没问题,但是不运行?为什么呢?还有scanf输入一堆数据,怎么能区别每个数据呢,像输入456它是怎么读呢,是三个一位数,还是一个三位数?


#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
    int a[5];
    for(int i=0; i<5; i++)//输入
    {
        cin>>a[i];
    }
    sort(a,a+5);//用sort函数,第一项为要排序的数组,第二项为要排序的数组+长度(从1开始应再+1)
    for(int i=0; i<5; i++)//输出结果是从小到大的,可以运行试试。a[0]和a[4]分别是最小值和最大值
    {
        cout<<a[i]<<" ";
    }
    cout<<endl;
    return 0;
}
你输入数据的时候用空格隔开就行了 例如: 13 45 10 74 15 46
#include<stdio.h>
int max,min;
int maxp,minp;
void sort(int arr[],int size)
{
    max=arr[0],min=arr[0];
    maxp=0;
    minp=0;
    for(int j=1; j<size; j++)
    {
        if(arr[j]>max)
        {
            max=arr[j];
            maxp=j;
        }
        if(arr[j]<min)
        {
            min=arr[j];
            minp=j;
        }
    }
    for(int i=0; i<size-1; i++)
    {
        for(int j=0; j<size-1-i; j++)
        {
            if(arr[j]>arr[j+1])
            {
                int tem=arr[j];
                arr[j]=arr[j+1];
                arr[j+1]=tem;
            }
        }
    }
}
void output(int arr[],int size)
{
    for(int i=0; i<size; i++)
        printf("%d ",arr[i]);
    printf("\n");
}
int main()
{
    int size;
    printf("输入数组长度:\n");
    scanf("%d",&size);
    int arr[size];
    for(int j=0; j<size; j++)
        scanf("%d",&arr[j]);
    sort(arr,size);
    printf("最大值:%d\n最小值:%d\n",max,min);
    printf("最大值下标:%d\n最小值下标:%d\n",maxp,minp);
    printf("排序后数组:\n");
    output(arr,size);
    return 0;
}