c语言:输入4个数求里面第二大的数(求教自己想了很久没想通小白一个)

c语言:输入4个数求里面第二大的数(求教自己想了很久没想通小白一个),第1张

int main(void) {

  int num[4]// 声明一个数组,保存4个元素

  int i = 0, j = 0

  for ( i < 4 ++i) {

    scanf ("%d", &num[i])

    for (j = i j > 0 --j) { // 这里读入了一个数据,进行插入排序;判断读入的数据如果比之前的大,则移动到数组前面

      if (num[j] > num[j - 1]) {

int tmp = num[j - 1]

num[j - 1] = num[j]

num[j] = tmp

      } else {

 break

      }

    }

  }

  printf ("%d\n", num[1])

  return 0

}

我给你个代码,比较简单的

int FindSecondMaxValue(int src[], int count)

{

int max = 0

int secondMax = 0

if (count==0) return secondMax

if (count==1)

{

return src[0]

}

else if (src[0] >src[1])

{

max = src[0]

secondMax = src[1]

}

else

{

max = src[1]

secondMax = src[0]

}

for (int i=2i<count++i)

{

if (src[i] >= max)

{

secondMax = max

max = src[i]

}

else

{

if (src[i]>secondMax)

{

secondMax = src[i]

}

}

}

return secondMax

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6686370.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存