#include<stdio.h>
int main(){
int n,c1=0,i,t,c2=0;
scanf("%d",&n);
int a[n];
for( i=0;i<n;i++)
scanf("%d",&a[i]);
for( i=0;i<n;i++){
if(a[i]>a[i+1])
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
int min=a[0],max=a[n-3];
for( i=0;i<n;i++){
if(min==a[i])c1++;
if(max==a[i])c2++;
}
printf("%d %d\n%d %d",min,c1,max,c2);}
return 0;
}
in:
10
86 75 233 888 666 75 886 888 75 666
out:
75 3
888 2
供参考:
#include<stdio.h>
int a[20000];
int main()
{
int n, c1 = 0, i, t, c2 = 0, j;
scanf("%d", &n);
//int a[n];
for (i = 0; i < n; i++)
scanf("%d", &a[i]);
for (j = 0; j < n - 1; j++) {
for (i = 0; i < n - 1 - j; i++) {
if (a[i] > a[i + 1])
{
t = a[i];
a[i] = a[i + 1];
a[i + 1] = t;
}
}
}
int min = a[0], max = a[n - 1]; //max = a[n - 3]
for (i = 0; i < n; i++) {
if (min == a[i])c1++;
if (max == a[i])c2++;
}
printf("%d %d\n%d %d", min, c1, max, c2);
//}
return 0;
}
11行if语句后面加括号,把你用来交换顺序的三个语句包含进去,因为你不加括号的话,if语句就只对他下面的一条语句起作用。