C语言输入整数存入数组

如何键盘输入从小到大的若干整数存入一个数组内,再将此数组随机抽取几个整数显示出来,求各位专家指点


#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(){
    int i=0,n=0;
    int a[1000];
    srand((unsigned) time(0)); 
    char ch;
    do
    {
        scanf("%d",&a[i++]);
        n++;
    }
    while((ch=getchar())!= '\n');
    
    //假设取2个,下面就调2次 
    printf("%d", a[rand()%n]);
}

输入时可以随便输入,但是只有比前一个大的数才能被保存,输入-100结束输入。


#include<iostream>
using namespace std;
int main()
{
    int a[100],n,i=0,m;
    cout << "请输入一个整数(整数之间换行输入,输入-100结束输入):";
    cin >> n;
    a[i]=n;
    while (cin >> n && n!=-100)
    {
        if (n > a[i])
        {
            a[i + 1] = n;
            i++;
        }

    }
    m = rand()%(i+1);  //随机挑出m个数
    while (m--)
    {
        int j = rand() % i;
        printf("输出:%d\n", a[j]);
    }
}

随机输出,两次相同输入,输出也不同

img

img