modi47.c

来自「c题库」· C语言 代码 · 共 39 行

C
39
字号
/*
下列给定程序中,函数fun的功能是:求出数组中最大数和次最大数,并把最大数和a[0]中的数对调、次最大数和a[1]中的数对调。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
*/

#include <stdio.h>
#include <conio.h>
#define N 20
/**********found************/
int fun (int *a,int n)
{	int i,m,t,k;
	for(i=0;i<2;i++)
/**********found************/
	{	m=0;
		for(k=i;k<n;k++)
/**********found************/
			if(a[k]>a[m])k=m;
		t=a[i];a[i]=a[m];a[m]=t;
	}
}

main()
{
	int x,b[N]={11,5,12,0,3,6,9,7,10,8},n=10,i;
	clrscr();
	for(i=0;i<n;i++)printf("%d",b[i]);
	printf("\n");
	fun(b,n);
	for(i=0;i<n;i++)printf("%d",b[i]);
	printf("\n");
}

/*
答案:
  int fun (int *a,int n)改为 void fun (int *a,int n)
	m=0; 改为   m=I;
	if(a[k]>a[m])k=m;改为if(a[k]>a[m])m=k;
*/

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?