鱼C论坛

 找回密码
 立即注册
查看: 1970|回复: 4

[已解决]用数组比大小为什么没用

[复制链接]
发表于 2022-12-15 19:10:18 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 2207122216 于 2022-12-15 21:22 编辑
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<time.h>
  4. int main() {
  5.         srand(time(NULL));
  6.         int s[6][7];
  7.         char name[][10]= {"易烊千玺","易烊百玺","易烊十玺","王一博","王二博","王三博"};

  8.         for(int i=0; i<6; i++) {
  9.                 printf("%s:",name[i]) ;
  10.         int max,min,sum;
  11.                 for(int j=0; j<7; j++) {
  12.                         s[i][j]=rand()%101;
  13.                         max=min=s[i][0] ;
  14.                         if(max<s[i][j])
  15.                                 max=s[i][j];
  16.                         if(min>s[i][j])
  17.                                 min=s[i][j];
  18.                         printf("%d",s[i][j]) ;
  19.                         printf("\t") ;
  20.        
  21.                 }
  22.                 sum=sum-max-min;
  23.                 printf("%d   %d   %d",max,min,sum) ;
  24.                 printf("\n");
  25.         }
  26.        

  27.         return 0;
  28. }
复制代码

//下面是要求

1.计算每位选手的得分,分数保留小数点后2位       






2.   去掉一个最高分,去掉一个最低分,剩下5个评委的平均分即为该选手的得分       






3.   将选手的得分进行从高到低排序,并输出前3名       






4.   考虑是否有并列的情况(可选)
最佳答案
2022-12-16 11:09:46
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<time.h>
  4. int main() {
  5.         srand(time(NULL));
  6.         int s[6][7];
  7.         char name[][10]= {"易烊千玺","易烊百玺","易烊十玺","王一博","王二博","王三博"};

  8.         for(int i=0; i<6; i++) {
  9.                 printf("%10s:",name[i]) ;
  10.         int max=0,min=101,sum=0;/////////////
  11.         for(int j=0; j<7; j++)
  12.         {
  13.             s[i][j]=rand()%101;
  14.             if(max<s[i][j])
  15.                 max=s[i][j];
  16.             if(min>s[i][j])
  17.                 min=s[i][j];
  18.             sum+=s[i][j];///////////////
  19.             printf("%4d",s[i][j]) ;
  20.             printf("\t") ;

  21.         }
  22.         sum=sum-max-min;
  23.         printf("max:%4d min:%4d sum:%4d",max,min,sum) ;
  24.         printf("\n");
  25.     }


  26.         return 0;
  27. }
复制代码
  1.   易烊千玺:   8   66      63      54      67      36       5    max:  67 min:   5 sum: 227
  2.   易烊百玺:  56   42      62       5      14      25      38    max:  62 min:   5 sum: 175
  3.   易烊十玺:  41   87      54      25      90       9      96    max:  96 min:   9 sum: 297
  4.     王一博:  14   57      40      56       2      54      81    max:  81 min:   2 sum: 221
  5.     王二博:  21   59       9      98      28       5      70    max:  98 min:   5 sum: 187
  6.     王三博:  31   59      65      29      44      82      97    max:  97 min:  29 sum: 281

  7. Process returned 0 (0x0)   execution time : 0.238 s
  8. Press any key to continue.
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-12-15 19:19:12 | 显示全部楼层
为什么用二维数组发帖会隐藏前面那个【i】, 我复制粘贴上来就没有了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-15 20:19:27 | 显示全部楼层
2207122216 发表于 2022-12-15 19:19
为什么用二维数组发帖会隐藏前面那个【i】, 我复制粘贴上来就没有了

点击这个<>,把代码放在出现的对话框里
否则
  1. [i]
复制代码
会被认为成斜体标志
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-16 11:09:46 | 显示全部楼层    本楼为最佳答案   
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<time.h>
  4. int main() {
  5.         srand(time(NULL));
  6.         int s[6][7];
  7.         char name[][10]= {"易烊千玺","易烊百玺","易烊十玺","王一博","王二博","王三博"};

  8.         for(int i=0; i<6; i++) {
  9.                 printf("%10s:",name[i]) ;
  10.         int max=0,min=101,sum=0;/////////////
  11.         for(int j=0; j<7; j++)
  12.         {
  13.             s[i][j]=rand()%101;
  14.             if(max<s[i][j])
  15.                 max=s[i][j];
  16.             if(min>s[i][j])
  17.                 min=s[i][j];
  18.             sum+=s[i][j];///////////////
  19.             printf("%4d",s[i][j]) ;
  20.             printf("\t") ;

  21.         }
  22.         sum=sum-max-min;
  23.         printf("max:%4d min:%4d sum:%4d",max,min,sum) ;
  24.         printf("\n");
  25.     }


  26.         return 0;
  27. }
复制代码
  1.   易烊千玺:   8   66      63      54      67      36       5    max:  67 min:   5 sum: 227
  2.   易烊百玺:  56   42      62       5      14      25      38    max:  62 min:   5 sum: 175
  3.   易烊十玺:  41   87      54      25      90       9      96    max:  96 min:   9 sum: 297
  4.     王一博:  14   57      40      56       2      54      81    max:  81 min:   2 sum: 221
  5.     王二博:  21   59       9      98      28       5      70    max:  98 min:   5 sum: 187
  6.     王三博:  31   59      65      29      44      82      97    max:  97 min:  29 sum: 281

  7. Process returned 0 (0x0)   execution time : 0.238 s
  8. Press any key to continue.
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-16 13:05:49 | 显示全部楼层
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<time.h>
  4. int cmp(void* a,void *b)
  5. {
  6.     return ((int*)b)[9]-((int*)a)[9];
  7. }
  8. int main()
  9. {
  10.     srand(time(NULL));
  11.     int s[6][11];
  12.     char* name[10]= {"易烊千玺","易烊百玺","易烊十玺","王一博","王二博","王三博"};

  13.     for(int i=0; i<6; i++)
  14.     {
  15.         s[i][10]=i;
  16.         // printf("%10s:",name[i]) ;
  17.         int max=0,min=101,sum=0;
  18.         for(int j=0; j<7; j++)
  19.         {
  20.             s[i][j]=rand()%101;
  21.             if(max<s[i][j])
  22.                 max=s[i][j];
  23.             if(min>s[i][j])
  24.                 min=s[i][j];
  25.             sum+=s[i][j];
  26.             //printf("%4d",s[i][j]) ;
  27.             //printf("\t") ;

  28.         }
  29.         s[i][7]=max;
  30.         s[i][8]=min;
  31.         s[i][9]=sum=sum-max-min;

  32.         //printf("max:%4d min:%4d sum:%4d",max,min,sum) ;
  33.         //printf("\n");
  34.     }
  35.     qsort(s,6,11*sizeof(int),cmp);
  36.     //s[3][9]=s[2][9];
  37.     //qsort(s,6,11*sizeof(int),cmp);
  38.     for(int i=0,mc=1,prv=s[0][9]; mc<4&&i<6; i++)
  39.     {

  40.         printf("第%d名:%10s:",mc,name[s[i][10]]) ;
  41.         for(int j=0; j<7; j++)
  42.         {
  43.             printf("%4d",s[i][j]) ;
  44.             printf("\t") ;

  45.         }
  46.         printf("max:%4d min:%4d sum:%4d",s[i][7],s[i][8],s[i][9]) ;

  47.         if(prv==s[i+1][9])mc-=1;
  48.         mc+=1;
  49.         prv=s[i+1][9];
  50.         printf("\n");
  51.     }
  52.     return 0;
  53. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-19 14:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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