输入12个整数顺序输入到一维数组中,将这12个数按从小到大的顺序输出(一行6个数),然后所有高于平均值的数输出(一行3个数)
#include<stdio.h>
int main()
{
int a[12],i,j,t,n=1;
double sum,ave;
printf("请输入12个数:");
for(i=0; i<12; i++)
{
scanf("%d",&a[i]);
sum+=a[i];
}
ave=sum/12.0;
for(i=0; i<12; i++)
{
for(j=i+1; j<11; j++)
{
if(a[j]<a[i])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
for(i=0; i<12; i++)
{
if(i==5)
printf("%d\n",a[i]);
else
printf("%d ",a[i]);
}
printf("\n");
for(i=0; i<12; i++)
{
if(a[i]>ave)
{
if(n%3==0)
printf("%d\n",a[i]);
else
printf("%d ",a[i]);
n++;
}
}
}
//2 1 3 4 5 6 7 8 9 10 11 12
冒泡法
#include <stdio.h>
int main(void) {
int a[12];
int i, j;
float mean = 0;
printf("请输入12个数:\n");
for(i = 0; i < 12; ++i){
scanf("%d",&a[i]);
mean += a[i];
}
mean /= 12;
for(i = 0; i < 12; ++i){
for(j = i; j < 12; ++j){
if (a[i] > a[j]){
int t = a[i];
a[i] = a[j];
a[j] = t;
}
}
}
printf("从小到大排列,每行6个数:\n");
for(i = 0; i < 12; ++i){
printf("%d\t",a[i]);
if (i == 5) printf("\n");
}
printf("\n");
printf("大于平均值的数,每行3个数:\n");
j = 0;
for(i = 11; i >= 0; --i){
if (a[i] >= mean){
printf("%d\t", a[i]);
++j;
if (j % 3 == 0) printf("\n");
}
}
return 0;
}