7.7
在随机产生的n个整数的一维数组中删除所有的最小数。编程要求:n从键盘输入,n<100;随机整数的范围[0,20],用输入的n作为随机函数的“种子数”。
如输入:
16
则输出(所有的随机数,最小数和删除后的数)
6,20,15,17,10,17,7,10,17,13,1,14,6,1,2,1
min=1
6,20,15,17,10,17,7,10,17,13,14,6,2
样例输入:
5
样例输出:
12,7,12,5,3
min=3
12,7,12,5
#include<stdio.h>;
#include <stdlib.h>
#include <time.h>
int main()
{
int n; int a[100];
scanf("%d", &n);//输入n
srand(n);
int i;
for (i = 0; i < n; i++)
a[i]=rand() % 21;//设置随机数,并赋值给数组a
printf("%d", a[0]);
for (i = 1; i < n; i++)
printf(",%d", a[i]);
printf("\n");//先输出一次随机数组
int m=a[0];
for (i = 0; i+1< n; i++)
{
if (m >= a[i + 1])
m = a[i + 1];
}
printf("min=%d\n", m);//取出最小值
for (i = 0; i< n; i++)
{
if (m == a[i])
a[i] = -1;//把所有最小值项化为-1
}
int b[100]; int j = 0;
for (i = 0; i < n; i++)
{
if (a[i] > 0)
{
b[j] = a[i]; j++;//将非负项转入数组b
}
}
printf("%d", b[0]);
for (i =1; i<j; i++)
printf(",%d", b[i]);
system("pause");
return 0;
}