2207122216 发表于 2022-12-15 19:10:18

用数组比大小为什么没用

本帖最后由 2207122216 于 2022-12-15 21:22 编辑

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main() {
        srand(time(NULL));
        int s;
        char name[]= {"易烊千玺","易烊百玺","易烊十玺","王一博","王二博","王三博"};

        for(int i=0; i<6; i++) {
                printf("%s:",name) ;
        int max,min,sum;
                for(int j=0; j<7; j++) {
                        s=rand()%101;
                        max=min=s ;
                        if(max<s)
                                max=s;
                        if(min>s)
                                min=s;
                        printf("%d",s) ;
                        printf("\t") ;
       
                }
                sum=sum-max-min;
                printf("%d   %d   %d",max,min,sum) ;
                printf("\n");
        }
       

        return 0;
}
//下面是要求

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






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






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






4.   考虑是否有并列的情况(可选)

2207122216 发表于 2022-12-15 19:19:12

为什么用二维数组发帖会隐藏前面那个【i】, 我复制粘贴上来就没有了

jhq999 发表于 2022-12-15 20:19:27

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

点击这个<>,把代码放在出现的对话框里
否则会被认为成斜体标志

jhq999 发表于 2022-12-16 11:09:46

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main() {
      srand(time(NULL));
      int s;
      char name[]= {"易烊千玺","易烊百玺","易烊十玺","王一博","王二博","王三博"};

      for(int i=0; i<6; i++) {
                printf("%10s:",name) ;
      int max=0,min=101,sum=0;/////////////
      for(int j=0; j<7; j++)
      {
            s=rand()%101;
            if(max<s)
                max=s;
            if(min>s)
                min=s;
            sum+=s;///////////////
            printf("%4d",s) ;
            printf("\t") ;

      }
      sum=sum-max-min;
      printf("max:%4d min:%4d sum:%4d",max,min,sum) ;
      printf("\n");
    }


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

Process returned 0 (0x0)   execution time : 0.238 s
Press any key to continue.

jhq999 发表于 2022-12-16 13:05:49

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int cmp(void* a,void *b)
{
    return ((int*)b)-((int*)a);
}
int main()
{
    srand(time(NULL));
    int s;
    char* name= {"易烊千玺","易烊百玺","易烊十玺","王一博","王二博","王三博"};

    for(int i=0; i<6; i++)
    {
      s=i;
      // printf("%10s:",name) ;
      int max=0,min=101,sum=0;
      for(int j=0; j<7; j++)
      {
            s=rand()%101;
            if(max<s)
                max=s;
            if(min>s)
                min=s;
            sum+=s;
            //printf("%4d",s) ;
            //printf("\t") ;

      }
      s=max;
      s=min;
      s=sum=sum-max-min;

      //printf("max:%4d min:%4d sum:%4d",max,min,sum) ;
      //printf("\n");
    }
    qsort(s,6,11*sizeof(int),cmp);
    //s=s;
    //qsort(s,6,11*sizeof(int),cmp);
    for(int i=0,mc=1,prv=s; mc<4&&i<6; i++)
    {

      printf("第%d名:%10s:",mc,name]) ;
      for(int j=0; j<7; j++)
      {
            printf("%4d",s) ;
            printf("\t") ;

      }
      printf("max:%4d min:%4d sum:%4d",s,s,s) ;

      if(prv==s)mc-=1;
      mc+=1;
      prv=s;
      printf("\n");
    }
    return 0;
}
页: [1]
查看完整版本: 用数组比大小为什么没用