解题思路:
第一:学会调用函数
第二:找到最小值和最大值
第三:实现题目条件交换
注意事项:
一定要注意、一定要注意、一定要注意(重要的事情说三遍)
1.找到的最大值和最小值千万不要直接交换,注意下边索引,因为直接交接会错误的,会导致下标的值等于max/min,或者不变
2.一定在找max和min是,一定要和下标一起找,二者一起初始化,最后实现交换时才不会出错
参考代码:
#include<stdio.h>
#define N 10
void get_informer(int arr[])
{
int i;
for(i=0;i<N;i++)
scanf("%d",&arr[i]);
}
void modify_min(int arr[])
{
int i,t,min,max,min_i,max_i;
min=arr[0];
min_i=0;
for(i = 1; i < N; i++) {
if(arr[i] < min) {
min = arr[i];
min_i=i;
}
}
t=arr[0];arr[0]=min;arr[min_i]=t;
max=arr[0];
max_i=0;
for(i = 1; i < N; i++) {
if(arr[i] > max) {
max = arr[i];
max_i=i;
}
}
t=arr[N-1];arr[N-1]=max;arr[max_i]=t;
}
void printf_informe(int arr[])
{
int i;
for(i=0;i<N;i++)
printf("%d ",arr[i]);
}
int main(){
int arr[N];
get_informer(arr);
modify_min(arr);
printf_informe(arr);
return 0;
}
0.0分
0 人评分