解题思路:这个是错的,这个是错的,这个是错的

我做不出来,麻烦各位大佬救救孩子,看看到底是那个环节出来问题,我是真的已经不知道哪里错了

非常抱歉耽误大家的时间,但是我真的。。。

注意事项:

这个是错的,这个是错的

我做不出来,麻烦各位大佬救救孩子,看看到底是那个环节出来问题,我是真的已经不知道哪里错了



参考代码:

#include<stdio.h>

#define N 10

void scan(int* a)  //输入10个数

{

   int i;

  for (i = 0; i < N; i++)

  scanf("%d", a + i);

}


void dispose(int* a)

{

int i, j, max, min, n, m;

for (i = 0; i < N; i++)

{

  min = *(a + i); //假定的最小值

  max = *(a + N - 1 - i);  //假定的最大值

  n = -1; //判断本身是不是最小值

  m = -1;  //判断本身是不是最大值

for (j = i; j < N ; j++)   //找最小值以及下标

{

if (min > *(a + j))

{

min = *(a + j);

n = j;

}

}

  if (n != -1)  //如果最小值不是本身,就交换

  {

*(a + n) = *(a + i);

*(a + i) = min;

  }

  for (j = 0; j < N-i ; j++)  //找最大值及下标

  {

  if (max < *(a + j))

  {

  max = *(a + j);

  m = j;

  }

  }

if (m != -1)  //如果最大值不是本身,就交换

{

*(a + m) = *(a + N - i - 1);

*(a + N - i - 1) = max;

}

}

}

void print(int* a) //打印10个数

{

int i = 0;

for (i = 0; i < N; i++)

printf("%d ", *(a + i));

}

int main()

{

int a[N];

scan(a);

dispose(a);

print(a);

return 0;

}


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论