美国队长


私信TA

用户名:dotcpp0762039

访问量:227

签 名:

因为难才好玩

等  级
排  名 13342
经  验 931
参赛次数 0
文章发表 6
年  龄 0
在职情况 学生
学  校
专  业 信管

  自我简介:

我还年轻,吃苦趁现在.......

TA的其他文章

解题思路:

第一:学会调用函数

第二:找到最小值和最大值

第三:实现题目条件交换

注意事项:

一定要注意、一定要注意、一定要注意(重要的事情说三遍)

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 人评分

  评论区

  • «
  • »