|
发表于 2022-4-17 21:29:45
|
显示全部楼层
本帖最后由 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;
- }
复制代码 |
|