用数组比大小为什么没用
本帖最后由 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. 考虑是否有并列的情况(可选) 为什么用二维数组发帖会隐藏前面那个【i】, 我复制粘贴上来就没有了 2207122216 发表于 2022-12-15 19:19
为什么用二维数组发帖会隐藏前面那个【i】, 我复制粘贴上来就没有了
点击这个<>,把代码放在出现的对话框里
否则会被认为成斜体标志
#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. #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]