鱼C论坛

 找回密码
 立即注册
查看: 2864|回复: 1

C语言排队

[复制链接]
发表于 2022-4-17 13:02:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
由于没人回复我,再发一次希望有人能帮我根据改一改
  1. #include <stdio.h>

  2. int main(void)
  3. {
  4.         int n,i,j,t[1007],s[1007],a,k=0;
  5.         double sum=0;
  6.         scanf("%d",&n);
  7.         for(i=0;i<n;i++)
  8.         {
  9.                 scanf("%d",&t[i]);
  10.         }
  11.         for(i=0;i<n;i++)
  12.         {
  13.                 for(j=0;j<n;j++)
  14.                 {
  15.                         if(t[j]>t[j+1])
  16.                     {
  17.                             a=t[j];
  18.                             t[j]=t[j+1];
  19.                             t[j+1]=a;
  20.                             s[k]=t[j];
  21.                     }
  22.                     else if(t[j]<t[j+1])
  23.                     {
  24.                             s[k]=t[j];
  25.                     }
  26.                 }
  27.                 k++;
  28.         }
  29.         for(i=0;i<n;i++)
  30.         {
  31.                 sum+=s[i];
  32.                 printf("%4d",s[i]);
  33.         }
  34.         printf("\n%.2lf",sum/n);
  35. }
复制代码
DNEQ`6EK3I4XKR)`G)B[CYR.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-4-17 21:29:45 | 显示全部楼层
本帖最后由 jhq999 于 2022-4-18 08:58 编辑
  1. int main(void)//////用结构体更好
  2.                                 ///////////// struct t{
  3.                                 /////////////                int id;
  4.                                 /////////////                int val;
  5.                                 /////////////        };
  6. {
  7.         int n,i,j,t[1007][2]={0},a,k=0;
  8.         double sum=0;
  9.         scanf("%d",&n);
  10.         for(i=0;i<n;i++)
  11.         {
  12.                 scanf("%d",&t[i][1]);
  13.                 t[i][0]=i+1;
  14.         }
  15.         for(i=1;i<n;i++)
  16.         {
  17.                 for(j=0;j<n-i;j++)
  18.                 {
  19.                         if(t[j][1]>t[j+1][1])
  20.                         {
  21.                                 a=t[j][1];
  22.                                 t[j][1]=t[j+1][1];
  23.                                 t[j+1][1]=a;
  24.                                 a=t[j][0];
  25.                                 t[j][0]=t[j+1][0];
  26.                                 t[j+1][0]=a;
  27.                         }

  28.                 }
  29.         }
  30.         for(i=0;i<n;i++)
  31.         {
  32.                 for(j=0;j<i;j++)
  33.                 {
  34.                         sum+=t[j][1];
  35.                 }
  36.                 printf("%d ",t[i][0]);
  37.         }
  38.         printf("\n%.2lf",sum/n);
  39.         return 0;
  40. }
复制代码

  1. int main(void)
  2. {
  3.         int n,i,j,t[1007][2]={0},a,k=0;
  4.         double sum=0;
  5.         scanf("%d",&n);
  6.         for(i=0;i<n;i++)
  7.         {
  8.                 scanf("%d",&t[i][1]);
  9.                 t[i][0]=i+1;
  10.         }
  11.         for(i=1;i<n;i++)
  12.         {
  13.                 for(j=n-1;j>=i;j--)
  14.                 {
  15.                         if(t[j][1]<t[j-1][1])
  16.                         {
  17.                                 a=t[j][1];
  18.                                 t[j][1]=t[j-1][1];
  19.                                 t[j-1][1]=a;
  20.                                 a=t[j][0];
  21.                                 t[j][0]=t[j-1][0];
  22.                                 t[j-1][0]=a;
  23.                         }

  24.                 }
  25.                 printf("%d ",t[i-1][0]);
  26.                 k+=t[i-1][1];
  27.                 sum+=k;
  28.         }
  29.         printf("\n%.2lf",sum/n);
  30.         return 0;
  31. }
复制代码
  1. int main(void)
  2. {
  3.         struct T
  4.         {
  5.                 int id;
  6.                 int val;
  7.         };
  8.         int n,i,j,t[1007][2]={0},k=0;
  9.         T *pt=(T*)t,a;/////// *pt=(T*)t;只有数组变量t类型是4的整数倍才可以
  10.         double sum=0;
  11.         scanf("%d",&n);
  12.         for(i=0;i<n;i++)
  13.         {
  14.                 scanf("%d",&t[i][1]);
  15.                 t[i][0]=i+1;
  16.         }
  17.         for(i=1;i<n;i++)
  18.         {
  19.                 for(j=n-1;j>=i;j--)
  20.                 {
  21.                         if(pt[j].val<pt[j-1].val)
  22.                         {
  23.                                 a=pt[j-1];
  24.                                 pt[j-1]=pt[j];
  25.                                 pt[j]=a;
  26.                         }

  27.                 }
  28.                 printf("%d ",pt[i-1].id);
  29.                 k+=pt[i-1].val;
  30.                 sum+=k;
  31.         }
  32.         printf("\n%.2lf",sum/n);
  33.         return 0;
  34. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-24 16:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表