parent
f249bd3eb9
commit
d190c9ba84
@ -0,0 +1,151 @@
|
||||
#include <stdio.h>
|
||||
int s=3;
|
||||
int main()
|
||||
{
|
||||
void log();
|
||||
log();
|
||||
return 0;
|
||||
}
|
||||
|
||||
void log()
|
||||
{
|
||||
float sum(float a[][6]);
|
||||
void sort(float a[][6]);
|
||||
float student[4][6];
|
||||
int i,j;
|
||||
student[0][0]=10001;
|
||||
student[0][1]=11;
|
||||
student[0][2]=99.5;
|
||||
student[0][3]=88.5;
|
||||
student[0][4]=89.5;
|
||||
student[1][0]=10002;
|
||||
student[1][1]=12;
|
||||
student[1][2]=77.9;
|
||||
student[1][3]=56.5;
|
||||
student[1][4]=87.5;
|
||||
student[2][0]=10003;
|
||||
student[2][1]=11;
|
||||
student[2][2]=92.5;
|
||||
student[2][3]=99.5;
|
||||
student[2][4]=60.5;
|
||||
for(j=0;j<5;j++)
|
||||
{
|
||||
scanf("%f",&student[3][j]);
|
||||
}
|
||||
sum(student);
|
||||
sort(student);
|
||||
for(i=0;i<4;i++)
|
||||
{
|
||||
for(j=0;j<5;j++)
|
||||
{
|
||||
if(j<2)
|
||||
{
|
||||
printf("%g",student[i][j]);
|
||||
}
|
||||
else
|
||||
{
|
||||
printf("%4.1f",student[i][j]);
|
||||
}
|
||||
if(j==4)
|
||||
{
|
||||
if(i==s)
|
||||
{
|
||||
printf(" inserted");
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
printf(" ");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
float sum(float a[][6])
|
||||
{
|
||||
int i;
|
||||
for(i=0;i<4;i++)
|
||||
{
|
||||
a[i][5]=a[i][2]+a[i][3]+a[i][4];
|
||||
}
|
||||
}
|
||||
|
||||
void sort(float a[][6])
|
||||
{
|
||||
void swap(float a[][6],int x,int y);
|
||||
void sort2(float a[][6],int n,int m);
|
||||
int i,j,k;
|
||||
int min;
|
||||
for(i=0;i<4;i++)
|
||||
{
|
||||
min=a[i][1];
|
||||
k=i;
|
||||
for(j=i;j<4;j++)
|
||||
{
|
||||
if(min>a[j][1])
|
||||
{
|
||||
min=a[j][1];
|
||||
k=j;
|
||||
}
|
||||
}
|
||||
swap(a,i,k);
|
||||
}
|
||||
k=1;
|
||||
j=0;
|
||||
for(i=0;i<4;i++)
|
||||
{
|
||||
if(a[i][1]==a[i+1][1])
|
||||
{
|
||||
k++;
|
||||
}
|
||||
else
|
||||
{
|
||||
sort2(a,k,j);
|
||||
j=j+k;
|
||||
k=1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void sort2(float a[][6],int n,int m)
|
||||
{
|
||||
void swap(float a[][6],int x,int y);
|
||||
int i,j,k;
|
||||
int max;
|
||||
for(i=m;i<m+n;i++)
|
||||
{
|
||||
max=a[i][5];
|
||||
k=i;
|
||||
for(j=i;j<m+n;j++)
|
||||
{
|
||||
if(max<a[j][5])
|
||||
{
|
||||
max=a[j][5];
|
||||
k=j;
|
||||
}
|
||||
}
|
||||
swap(a,i,k);
|
||||
}
|
||||
}
|
||||
|
||||
void swap(float a[][6],int x,int y)
|
||||
{
|
||||
int i;
|
||||
float temp;
|
||||
if(x==s)
|
||||
{
|
||||
s=y;
|
||||
}
|
||||
if(y==s)
|
||||
{
|
||||
s=x;
|
||||
}
|
||||
for(i=0;i<6;i++)
|
||||
{
|
||||
temp=a[x][i];
|
||||
a[x][i]=a[y][i];
|
||||
a[y][i]=temp;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in new issue