题目
本题是中国海洋大学编程题20题题库的第4题。
题目:
4.编写函数 void fun(int *x,int n),它的功能是:求出数组x中的最小数和次最小数。
并把最小数和a[0]对调,次最小数和a[1]对调,其余的数保持不变。
如程序运行输入:2 4 6 11 3 9 7 0 5 8
则输出:0 2 6 11 3 9 7 4 5 8
以下是本篇文章正文内容,欢迎朋友们进行指正,一起探讨,共同进步。——来自考研路上的lwj。QQ:2394799692
一、解题思路
思路:
1,第一次循环交换最小数据和a0
2,第二次循环交换次最小数据和a1
3,数组输出
二、代码部分
1.引入库
代码如下(示例):
#include<stdio.h>
2.主函数部分
代码如下(示例):
#define N 10
void fun(int* x, int n)
{
int min = 0,temp,i;
for (i = 0; i < N; i++)//第一次循环交换最小数据和a0
if(x[min] > x[i])min = i;
temp = x[0]; x[0] = x[min]; x[min] = temp;
min = 1;
for(i=2;i<N;i++)//第二次循环交换次最小数据和a1
if(x[min] > x[i])min = i;
temp = x[1]; x[1] = x[min]; x[min] = temp;
}
void main()
{
int x[N];
int i;
for (i = 0; i < N; i++)//输入
scanf("%d", &x[i]);
fun(x, N);
for (i = 0; i < N; i++)//输出
printf("%d ", x[i]);
}
三、执行结果
输入:
2 4 6 11 3 9 7 0 5 8
输出:
0 2 6 11 3 9 7 4 5 8
屏幕截图: