从控制台依次读入序列(1,22,31,2,11,0,9,8,19),保存到数组中,求该序列的最大值和最小值及其位置并输出。
#include <stdio.h>
#include <stdlib.h>
#define SIZE 10
int arr[SIZE],max,min,maxpos=1,minpos=1;
//获取数组中最大值,最小值,及其位置
void max_min_pos(int *str){
int i=1;
max=min=*str;
while(i<SIZE){
if(*(str+i)>max){
max = *(str+i);
maxpos = i+1;
}
if(*(str+i)<min){
min = *(str+i);
minpos = i+1;
}
i++;
}
}
int main() {
int i;
printf("请输入一个数组\n");
for(i=0;i<SIZE;i++){
scanf("%d",&arr[i]);
}
max_min_pos(arr);
printf("最大值是%d在数组的第%d位\n最小值是%d在数组的第%d位\n",max,maxpos,min,minpos);
system("pause");
return EXIT_SUCCESS;
}
#include <stdio.h>
int main()
{
int n;
int maxv = 0,minv = 0;
int maxindex=0,minindex = 0;
int i;
for(i = 0;i<9;i++)
{
scanf("%d",&n);
if(i == 0)
{
maxv = n;
minv = n;
}else
{
if(maxv < n)
{
maxv = n;
maxindex = i;
}
if(minv > n)
{
minv = n;
minindex = i;
}
}
}
printf("max = %d,maxindex = %d,min=%d,minindex = %d",maxv,maxindex,minv,minindex);
return 0;
}