题目描述
现有一个不超过N个元素的数组,其中没有重复数据出现。求该数组中的最小值以及最小值所在的下标。
结合“Append Code”中的代码,编写以下函数:
原型:int get_array(int a[], int n);
功能:遵循样例输入的格式读取n个整数存放在a[]里,返回值为实际输入的元素个数。
原型:int min_index(int a[], int n);
功能:返回有n个元素的数组a[]中的所有元素的最小值的索引(下标)。
函数的调用格式见“Append Code”。
输入
第一个输入为正整数N<=1000,后面输入N个整数。
输出
输出只有一行。格式为:
minimum number is x, whose position is y.
其中x是数组中的最小元素值,y是x在数组中的下标。
样例输入
10
1 2 3 4 5 6 7 8 9 -1
样例输出
minimum number is -1, whose position is 9.
代码如下:
#include<stdio.h>
#define MAX_SIZE 1005
int get_array(int a[], int n)
{
int count = 0;
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
count++;
}
return count;
}
int min_index(int a[], int n)
{
int min = a[0];
int index = 0;
for(int i=1;i<n;i++){
if(a[i]<min){
min = a[i];
index = i;
}
}
return index;
}
int main()
{
int array[MAX_SIZE], size, index;
scanf("%d", &size);
get_array(array, size);
index = min_index(array, size);
printf("minimum number is %d, whose position is %d.", array[index], index);
return 0;
}