C语言编程>第二十周 ② 下列给定程序中,函数fun的功能是:求出数组中最大数和次最大数,并把最大数和b[0]中的数对调、次最大数和b[1]中的数对调。

179 阅读3分钟

例题:下列给定程序中,函数fun的功能是:求出数组中最大数和次最大数,并把最大数和b[0]中的数对调、次最大数和b[1]中的数对调。

注意:不要改动main函数,不能增行或删行,也不能更改程序的结构。

代码如下:

#include<conio.h>
#include<stdio.h>
#define N 10
void fun(int*b,int n)
{
	int i,m,t,j;
	for(i=0;i<2;i++)
	{
		m=i;
		for(j=i+1;j<n;j++)
			if(b[j]>b[m])
				m=j;
		t=b[i];
		b[i]=b[m];
		b[m]=t;
	}
}
main()
{
	int a[N]={5,12,9,7,10},n=5,i;
	for(i=0;i<n;i++)
		printf("%d ",a[i]);
	printf("\n");
	fun(a,n);
	for(i=0;i<n;i++)
		printf("%d ",a[i]);
	printf("\n");
}

输出运行窗口如下:
在这里插入图片描述
本周其他练习

C语言程序设计专栏

C语言编程>第二十周 ① 请补充main函数,该函数的功能是求1+2!+3!+…+N!的和。

C语言编程>第二十周 ② 下列给定程序中,函数fun的功能是:求出数组中最大数和次最大数,并把最大数和b[0]中的数对调、次最大数和b[1]中的数对调。

C语言编程>第二十周 ③ 请补充fun函数,该函数的功能是:把字符串s中的字符按字符的ASCII码升序排列,处理后的字符串仍然保存在原串中,字符串及其长度作为函数参数传入。

C语言编程>第二十周 ④ 下列给定程序中,函数fun的功能是:从N个字符串中找出最长的字符串,并将其地址作为函数值返回。各字符串在主函数中输入,并放入一个字符串数组中。

C语言编程>第二十周 ⑤ 请补充main函数,该函数的功能是:如果数组a的前一个元素比后一个元素大,则把它保存在数组b中并输出。

C语言编程>第二十周 ⑥ 请补充main函数,该函数的功能是:打印出满足个位上的数字、十位上的数字和百位上的数字都相等的所有三位数。

C语言编程>第二十周 ⑦ 请补充fun函数,该函数的功能是把数组a中的奇数元素按原来的先后顺序放在原数组后面。

C语言编程>第二十周 ⑧ 下列给定程序中,函数fun的功能是:将n(1≤n≤10)个字符串连接起来,组成一个新串,放在s所指字符串中。

越努力越幸运!
加油,奥力给!!!