笑一个好不好


私信TA

用户名:wlwxyghbh

访问量:337

签 名:

等  级
排  名 19480
经  验 719
参赛次数 0
文章发表 3
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

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

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

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

注意事项:

这个是错的,这个是错的

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



参考代码:

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

  评论区

  • «
  • »