‘壹’ 选手评分c语言
汗了,题目看错~~~用结构体做,结构体内放的每个选手的10次成绩和平均成绩。然后根据每位选手的平均成绩排序,采用快速排序。最后输出结果。vc上验证过了
#include<stdio.h>
struct player
{
double result[10];
double avg;
};
void quick(player a[] , int s , int t) //为排序数组,s为起点0 , t为终点 n-1
{
int i , j ;
double x ;
player y;
i = s; j = t; x = a[(i+j)/2].avg;
while (i <= j)
{
while (a[i].avg > x) i ++;
while (a[j].avg < x) j --;
if (i <= j)
{
y = a[i]; a[i] = a[j]; a[j] = y;
i ++; j --;
}
}
if (i < t) quick(a , i , t);
if (s < j) quick(a , s , j);
}
main()
{
player a[10];
int i,j;
double sum=0,max=0,min=100;
for(i=0;i<10;i++)
{
sum=0; max=0,min=100 ;//初始化
for(j=0;j<10;j++)
{
scanf("%lf",&a[i].result[j]);
sum+=a[i].result[j];
if(a[i].result[j]>max) max=a[i].result[j];
if(a[i].result[j]<min) min=a[i].result[j];
}
a[i].avg=(sum-max-min)/8.0;
}
quick(a,0,9);
for(i=0;i<10;i++)
printf("平均分:%lf\n",a[i].avg);
}
‘贰’ c语言程序设计:输入评委选手信息,使用链表,评委为选手打分,去掉最高分和最低分,求每个选手的得分,
#include"stdio.h"
#include"string.h"
#include"stdlib.h"
structstudent
{charnum[10];
charname[10];
charsex[5];
charage[2];
intremark;
structstudent*prior;
structstudent*next;
}l;
structstudent*start,*last;
voidenter(),list(),save(),
load(),delete_();
voidstore(structstudent*g);
meun(),score();
main()
{
chars[6],a[6];
start=last=NULL;
load();
for(;;){
switch(meun()){
case1:enter();
break;
case2:list();
break;
case3:save();
break;
case4:delete_();
break;
case5:score();
break;
case6:exit(0);}
}
}
meun()
{chars[10];
intc;
printf(" 选手信息管理系统 ");
printf(" ------------------------------------------ ");
printf(" [1.选手基本信息录入][2.选手基本信息显示] ");
printf(" ------------------------------------------ ");
printf(" [3.选手基本信息保存][4.选手基本信息删除] ");
printf(" ------------------------------------------ ");
printf(" [5.评委为选手打分][6.退出管理系统] ");
printf(" ------------------------------------------ ");
printf(" 请按数字选择");
gets(s);
c=atoi(s);
if(c<=7&&c>=1)
return(c);
}
voidenter()
{
structstudent*info;
info=(structstudent*)malloc(sizeof(structstudent));
if(!info){
printf(" EMSrunoutof! ");
return;}
for(;;){
info=(structstudent*)malloc(sizeof(structstudent));
if(!info){
printf(" EMSrunoutof! ");
return;}
printf(" 输入姓名:");gets(info->name);
printf(" ");
if(!*info->name)break;
printf(" 输入号码:");gets(info->num);
printf(" ");
printf(" 输入性别:");gets(info->sex);
printf(" ");
printf(" 输入年龄:");gets(info->age);
printf(" ");
info->remark=0;
store(info);
}
}
voidstore(structstudent*g)
{
if(last==NULL){
g->next=NULL;
g->prior=NULL;
last=g;
start=g;
return;
}
g->next=NULL;
g->prior=last;
last->next=g;
last=g;
}
voiddisplay(structstudent*info)
{
printf(" 姓名:%s ",info->name);
printf(" 号码:%s ",info->num);
printf(" 性别:%s ",info->sex);
printf(" 年龄:%s ",info->age);
printf(" 分数:%d ",info->remark);
return;
}
voidlist()
{
structstudent*info;
info=start;
while(info){
display(info);
info=info->next;
}
}
structstudent*find(structstudent*p)
{inta,b;
structstudent*info;
info=start;
if(!info){
printf(" Filenotload! ");
return(NULL);
}
while(info){
if(!strcmp(p->name,info->name)){
return(info);}
info=info->next;
}
printf(" 无此记录 ");
return(NULL);
}
voiddelete_()
{
structstudent*info;
printf(" 输入需要删除记录的姓名:");
info=(structstudent*)malloc(sizeof(structstudent));
gets(info->name);
info=find(info);
if(!info)return;
if(!(info==start)&&!(info==last)){
info->next->prior=info->prior;
info->prior->next=info->next;
}
else{if((info->prior==NULL)&&(info->next==NULL))
last=start=NULL;
else{
if(info==last){
info->prior->next=NULL;
last=info->prior;
}
else{
info->next->prior=NULL;
start=info->next;
}}
}
free(info);
return;
}
voidsave()
{structstudent*info;
FILE*fp;
if((fp=fopen("f:\student.kbm","wb"))==NULL){
printf(" error ");
return;
}
info=start;
printf(" saving! ");
while(info){
fwrite(info,sizeof(structstudent),1,fp);
info=info->next;
}
fclose(fp);
}
voidload()
{
structstudent*info;
FILE*fp;
if((fp=fopen("f:\student.kbm","rb"))==NULL){
printf(" error ");
return;
}
info=(structstudent*)malloc(sizeof(structstudent));
if(!info){
printf(" EMSrunoutof! ");
return;
}
printf(" loading! ");
info->prior=NULL;
info->next=NULL;
start=last=info;
while(!feof(fp)){
if(1!=fread(info,sizeof(structstudent),1,fp))break;
info->next=(structstudent*)malloc(sizeof(structstudent));
if(!info->next){
printf(" EMSrunoutof! ");
return;
}
last=info;
info=info->next;
}
free(info);
last->next=NULL;
fclose(fp);
}
intsum()
{
inta[5],sum=0,i,max,min;
for(i=0;i<=4;i++){
printf(" 输入第%d个评委的打分",i+1);
scanf("%d",&a[i]);
getchar();
sum=a[i]+sum;
}
max=min=a[0];
for(i=1;i<=4;i++)
{
if(max<a[i])
max=a[i];
if(min>a[i])
min=a[i];
}
sum=(sum-max-min)/3;
return(sum);
}
score()
{structstudent*info;
printf(" 输入需要打分选手的姓名:");
info=(structstudent*)malloc(sizeof(structstudent));
gets(info->name);
info=find(info);
info->remark=sum();
return;
}
‘叁’ C语言英语比赛5位选手5位评委求选手平均分并排序
#include <stdio.h>
#include <conio.h>
void main()
{
int a,b,c,d,e,flag=1;
int i,j;
float average[6],result[6],temp;
for(i=1;i<6;i++)
{
printf("输入选手%d的五个分数\n",i);
scanf("%d%d%d%d%d",&a,&b,&c,&d,&e);
printf("\n");
average[i]=1.0*(a+b+c+d+e)/5;
printf("平均分为%.2f\n\n",average[i]); /*保留一位小数*/
}
for(i=1;i<6;i++)
{
result[i]=average[i];
}
for(j=1;j<=5;j++) /*冒泡排序*/
{
for (i=1;i<6-j;i++)
if (average[i]>average[i+1])
{
flag++;
temp=average[i];
average[i]=average[i+1];
average[i+1]=temp;
}
}
printf("从高到低排序为:\n");
for(i=5;i>0;i--)
{
printf("得分:%.2f\t",average[i]);
for(j=1;j<6;j++)
{
if (result[j]==average[i])
{
printf("选手%d\n",j);
break;
}
else
{
continue;
}
}
}
getch();
}
以上程序我已调试成功,如果有问题可以尽管问我哦~
‘肆’ 用c语言编写含有数组的程序,9个评委给某选手打分,去掉一个最高分和一个最低分,求该参赛选手的平均分
#include <stdio.h>
void bubbleSort(int a[]);
int main(void)
{
int a[9] = {0}, i = 0;
float aver = 0.0;
printf("请9位评委依次打分:");
for(i = 0; i < 9; i++)
scanf("%d", &a[i]);
bubbleSort(a);
for(i = 1; i < 8; i++)
aver += a[i];
aver /= 7;
printf("平均分为:%f ", aver);
return 0;
void bubbleSort(int a[])
int i = 0, j = 0, temp = 0;
for(i = 0; i < 8; i++)
for(j = 0; j < 8 - i;j++)
if(a[j] > a[j + 1])
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
数组声明
在数组的声明格式里,“数据类型”是声明数组元素的数据类型,可以是java语言中任意的数据类型,包括简单类型和结构类型。“数组名”是用来统一这些相同数据类型的名称,其命名规则和变量的命名规则相同。
数组声明之后,接下来便是要分配数组所需要的内存,这时必须用运算符new,其中“个数”是告诉编译器,所声明的数组要存放多少个元素,所以new运算符是通知编译器根据括号里的个数,在内存中分配一块空间供该数组使用。利用new运算符为数组元素分配内存空间的方式称为动态分配方式。
以上内容参考:网络-数组
‘伍’ C语言,就是青年歌手参加歌曲大奖赛,有10个评委进行打分,试编程求这位选手的平均得分。
i应该是整形,所以应该将其定义为int i。修改后代码为:
#include <stdio.h>
int main()
{
float x[10],avg,max,min,sum,a;
for (int i=0;i<10;i++)
{
scanf(" %f",&x[10]);
if( i==0)
{
max=x[0];
min=x[0];
}
if (x[i]>max) max=x[i];
if (x[i]<min) min=x[i];
sum+=x[i];
}
a=(sum-max-min)/8;
printf("%.2f",a);
}
(5)韩国举报中国选手使用c语言扩展阅读:
for循环注意事项
1、for循环中的变量可以是一个也可以是多个,不要局限于一个变量处理到底,那样有时会很单调,当程序适合把多个变量组成循环时,用多个for语句来表示就是有些浪费;
2、for循环中语句可以为语句体, 语句体外加大括号"{}"将参加循环的语句括起来。for循环的三个表达式都是逗号表达式,这样来说,其实每个分号表达式可以由几个逗号表达式构成,中间用",”隔开,最后以“;”结束。
3、for循环中的"单次表达式"、"条件表达式"和"循环体语句"都是选择项, 即可以缺省成只剩下“;”的空语句, ";"不能缺省的原因是编译格式如此,缺省了编译器不认识而会报错。
网络-for循环
‘陆’ 陈清晨C语言式鼓劲儿,有多重要能起到多大效果
羽毛球女双小组第三轮角逐,来自广东队的陈清晨与搭档贾一凡以2比1逆转韩国队组合金昭映/孔熙容,纍积三战三胜以小组第一挺进八强。陈清晨也凭借在比赛中激情澎湃给自己加油而登上热搜。一开始我方士气就一直不太高,而且第一局输了,感觉还在进状态,而韩国对手比赛过程中一直在又喊又吼,发球也喊、自己接球也喊、我们接球也喊,甚至球还没落地,她们喊的声音已经落地了。
韩国选手的聒噪或许激怒了陈清晨。之后得分,陈清晨就发出了一声:“我”,清晰且响亮。韩国朋友可能并不理解这句话的意思,也不知道从这句话开始,中国C语言的强悍力到底有多大。
赛后因为的话题被推上微博热搜,对此陈清晨澄清原因,也做出反省。不过网友却并没有觉得此行为不妥,鼓励陈清晨就应当大胆释放自己,还有网友评论:“起最清新的名字,杀最重的球,讲最美的中国话!”
尽管这不是一场关系到奖牌的比赛,但是,由于性格直爽的陈清晨以独特的方式为自己加油,她的比赛片段登上热搜,赢得网友们纷纷点赞。这是24岁的陈清晨第一次参加奥运会,她透露自己和贾一凡状态良好,非常有信心冲击奖牌,她将勇往直前,为祖国争光,为家乡添彩。祝愿女双顶峰相见拿两块奖牌!
‘柒’ 陈清晨被韩国羽协起诉,疑似遭到语言侮辱,你相信吗
韩国羽毛球协会正式起诉国羽名将陈清晨,认为后者有侮辱性语言,并且此事已经上诉世界羽毛球联合会。
女双小组赛,陈清晨/贾一凡以2-1逆转韩国组合金昭映/孔熙容,获得3连胜,因为是空场比赛,陈清晨在比赛中的每一次怒吼呐喊,都几乎被电视观众听得真真切切。中国网友亲切认为,陈清晨是C语言!网友称,“这场可以说是我看过的最欢乐的女双比赛了。”
国际奥组委规定,选手不得在比赛中大声辱骂。但显然,陈清晨没有针对韩国选手,只是自我宣泄。
‘捌’ 用C语言解决问题
你可以用一个二维数组代替一维数组:
int num[1000][20],i,j, lenth=20;
int num1[20] = { 1, 2, 3, 4, 5, 5, 6, 1, 4, 5, 5, 7, 1, 5, 3, 8, 3, 5, 9, 1 };
初值 for (i=0;i<lenth;i++) num[0][i]=num1[i];
双重循环语句计算:
for (j=1;j<=1000;j++) for (i=0;i<lenth;i++) num[j][i]=num[j-1][i] + 1;
输出也类似,双重循环。
-----
节省内存方法:
只声明 int num1[20],num2[20]; 初始化 num1[i] 数组
做循环 500 次:
{ 1推算2 : add(num1,num2,lenth);
输出 num1[i] 数组
2推算1: add(num2,num1,lenth);
输出 num2[i] 数组
} 完毕。
‘玖’ 韩国羽协投诉陈清晨“C语言”,运动员不文明行为如何界定国骂违规吗
我认为韩国羽协投诉陈清晨的这种行为是非常不好的,而且有一些强词夺理,因为自己羽毛球队员的实力确实不如中国选手,再加上在赛场上故意干扰比赛情况,所以才会被中国选手打败。但是面对这样的一个成绩,韩国羽协肯定是不满意的,毕竟这两个种子选手也是在国内拥有很高的知名度,同时也是人们心中的希望,但是到了奥运会赛场上被中国选手打败,内心肯定非常不甘,只有出此下策,找回属于自己的自信心。
总结:我们在看奥运会比赛的时候也要有一颗包容心,因为每一个国家都可能会犯错误,只有去用包容理解的心态处理事情,才能做到公平公正。