一道C语言题

2024年11月15日 20:31
有1个网友回答
网友(1):

#include "stdio.h"
#define N 20
void Largesttow (int a[],int n,int *pfirst,int *psecond){
int i,j,k;
for(i=0;i for(k=i,j=k+1;j if(a[k] k=j;
if(k!=i)
j=a[k],a[k]=a[i],a[i]=j;
if(a[i]!=a[0]){
*pfirst=a[0];
*psecond=a[i];
return;
}
else if(i==n-1)
*pfirst=*psecond=a[0];
}
}
int main(int argv,char *argc[]){
int i,n,a[N],max1,max2;
printf("Please enter n(int 0 if(scanf("%d",&n)!=1 || n<1 || n>N){
printf("Input error, exit...\n");
return 0;
}
printf("Please enter %d integers...\n",n);
for(i=0;i scanf("%d",&a[i]);
Largesttow(a,n,&max1,&max2);
if(max1!=max2)
printf("\n%d %d\n",max1,max2);
else
printf("\nOnly one number: %d\n",max1);
return 0; 
}

运行样例: