本帖最后由 jhq999 于 2022-4-18 08:58 编辑 int main(void)//////用结构体更好
///////////// struct t{
///////////// int id;
///////////// int val;
///////////// };
{
int n,i,j,t[1007][2]={0},a,k=0;
double sum=0;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&t[i][1]);
t[i][0]=i+1;
}
for(i=1;i<n;i++)
{
for(j=0;j<n-i;j++)
{
if(t[j][1]>t[j+1][1])
{
a=t[j][1];
t[j][1]=t[j+1][1];
t[j+1][1]=a;
a=t[j][0];
t[j][0]=t[j+1][0];
t[j+1][0]=a;
}
}
}
for(i=0;i<n;i++)
{
for(j=0;j<i;j++)
{
sum+=t[j][1];
}
printf("%d ",t[i][0]);
}
printf("\n%.2lf",sum/n);
return 0;
}
int main(void)
{
int n,i,j,t[1007][2]={0},a,k=0;
double sum=0;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&t[i][1]);
t[i][0]=i+1;
}
for(i=1;i<n;i++)
{
for(j=n-1;j>=i;j--)
{
if(t[j][1]<t[j-1][1])
{
a=t[j][1];
t[j][1]=t[j-1][1];
t[j-1][1]=a;
a=t[j][0];
t[j][0]=t[j-1][0];
t[j-1][0]=a;
}
}
printf("%d ",t[i-1][0]);
k+=t[i-1][1];
sum+=k;
}
printf("\n%.2lf",sum/n);
return 0;
}
int main(void)
{
struct T
{
int id;
int val;
};
int n,i,j,t[1007][2]={0},k=0;
T *pt=(T*)t,a;/////// *pt=(T*)t;只有数组变量t类型是4的整数倍才可以
double sum=0;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&t[i][1]);
t[i][0]=i+1;
}
for(i=1;i<n;i++)
{
for(j=n-1;j>=i;j--)
{
if(pt[j].val<pt[j-1].val)
{
a=pt[j-1];
pt[j-1]=pt[j];
pt[j]=a;
}
}
printf("%d ",pt[i-1].id);
k+=pt[i-1].val;
sum+=k;
}
printf("\n%.2lf",sum/n);
return 0;
}
|