『壹』 選手評分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語言」,運動員不文明行為如何界定國罵違規嗎
我認為韓國羽協投訴陳清晨的這種行為是非常不好的,而且有一些強詞奪理,因為自己羽毛球隊員的實力確實不如中國選手,再加上在賽場上故意干擾比賽情況,所以才會被中國選手打敗。但是面對這樣的一個成績,韓國羽協肯定是不滿意的,畢竟這兩個種子選手也是在國內擁有很高的知名度,同時也是人們心中的希望,但是到了奧運會賽場上被中國選手打敗,內心肯定非常不甘,只有出此下策,找回屬於自己的自信心。
總結:我們在看奧運會比賽的時候也要有一顆包容心,因為每一個國家都可能會犯錯誤,只有去用包容理解的心態處理事情,才能做到公平公正。