當前位置:首頁 » 編程語言 » c語言求競賽名次
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言求競賽名次

發布時間: 2022-12-10 08:34:41

c語言編程問題 甲乙丙三位球迷分別預測已進入半決賽的ABCD四對嗯名次如下:甲:A第一名,B第二

#include<stdio.h>
voidmain()
{
intcc1,cc2,cc3;//cc1到cc3代表3位選手的邏輯判定
inti,j,k,m;//i,j,k,m用於循環控制
intA,B,C,D;
intg;
A=0;B=0;C=0;D=0;g=0;
for(i=1;A<=4;i++)
{A++;
B=0;
for(j=1;B<=4;j++)
{
B++;
if(B==A)
B++;
C=0;
for(k=1;C<=4;k++)
{C++;
if(C==A)
C++;
if(C==B)
C++;
D=0;
for(m=1;D<=4;m++)
{D++;
if(D==A)
D++;
if(D==B)
D++;
if(D==C)
D++;
cc1=((A==1)&&(!(B==2)))||((!(A==1))&&(B==2));
cc2=((C==1)&&(!(D==3)))||((!(C==1))&&(D==3));
cc3=((D==2)&&(!(A==3)))||((!(D==2))&&(A==3));
if(((cc1+cc2+cc3)==3)&&(A<5)&&(B<5)&&(C<5)&&(D<5)&&(A!=B)&&(A!=C)&&(A!=D)&&(B!=C)&&(B!=D)&&(C!=D))
{g=1;
printf("A的名次是:%d ",A);
printf("B的名次是:%d ",B);
printf("C的名次是:%d ",C);
printf("D的名次是:%d ",D);
}
}
}
}
}


if(g!=1)
printf("Can'tfound!");
}

這個裡面有些我貼上來之後編輯修改的中文符號,你改回來編譯應該能過。我用的Code Blocks。


❷ C語言排名急求~謝。。好的我追加~~!!

程序寫出來了,VC下調試通過,要是需要注釋的話再M我或者是留言給我吧。
#include <stdio.h>
int fenshu[1000];
int paiming[1000];
int jian[1000];
void prinf()
{
printf("1,數據輸入\n");
printf("2,選手排名\n");
printf("3,退出\n");
printf("請輸入(1至3):");
}
int jianyan(int x,int y)
{
int i;
for(i=0;i<y;i++)
if(jian[i]==x)return 1;
return 0;
}
void pai(int j)
{
int i,k,t[1000]={0},y,h;
for(i=0;i<j;i++)
{
y=0;
for(k=0;k<j;k++)
if(fenshu[i]<fenshu[k])
{
if(jianyan(fenshu[k],y)==1) continue;
jian[y]=fenshu[k];
y++;
paiming[i]++;
}
}
}
int main()
{
int i,j,k,t;
prinf();
scanf("%d",&i);
while(i==1||i==2)
{
if(i==1)
{
printf("輸入選手人數:");
scanf("%d",&j);
printf("輸入選手得分,每個選手得分用空格分開:");
for(k=0;k<j;k++)
scanf("%d",&fenshu[k]);
}
else
{
for(k=0;k<j;k++)
paiming[k]=1;
printf("選手排名:");
pai(j);
for(k=0;k<j;k++)
{
printf("%d ",paiming[k]);
}
printf("\n");
}
prinf();
scanf("%d",&i);
}
return 0;
}

❸ C語言題(競賽排名)

#include<iostream>
usingnamespacestd;
class
{
public:
strings;
intnum;
intgrade;
}maxn;
strings;
intn,s1[5][3]={0};
intmain()
{
cin>>n;
maxn.num=maxn.grade=0;
for(inta=1;a<=n;a++)
{
cin>>s;memset(s1,0,sizeof(s1));
for(intb=1;b<=4;b++)
{
cin>>s1[b][1]>>s1[b][2];
if(s1[b][2]>0)
{
s1[0][1]++;
s1[0][2]+=s1[b][2]+(s1[b][1]-1)*20;
}
}
if(s1[0][1]>maxn.num||s1[0][1]==maxn.num&&s1[0][2]<maxn.grade)
{
maxn.s=s;
maxn.num=s1[0][1];
maxn.grade=s1[0][2];
}
}
cout<<maxn.s<<""<<maxn.num<<""<<maxn.grade;
}

❹ c語言編程:輸出成績排名

#include <stdio.h>
int main()
{
int i,j,temp,a[100]={0},ranking=0,n;
printf("請輸入學生數:\n");
scanf("%d",&n);
printf("請輸入學生成績:\n");
for (i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
//對成績排序
for (i=0;i<n;i++)
{
for (j=i+1;j<n;j++)
{
if (a[i]<a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
printf("成績由高到低順序排序:\n");
for (i=0;i<n;i++)
{
++ranking;
if ((a[i]==a[i-1]))
{
ranking=ranking-1;
}
printf("%d:%d\n",a[i],ranking);
}
printf("\n");
return 0;
}

❺ C語言編1個歌手大賽的排名

純C語言,結尾附上程序運行結果 #include <stdio.h> #define N 50 struct XuanShou { int ID; float mark[N]; float max_m,min_m,aver_m; }; void (struct XuanShou *m_to, struct XuanShou *m_from) { int i; for(i=0; i<N; i++) m_to->mark[i] = m_from->mark[i]; m_to->ID = m_from->ID; m_to->max_m = m_from->max_m; m_to->min_m = m_from->min_m; m_to->aver_m = m_from->aver_m; } int main() { struct XuanShou xs[N]; struct XuanShou temp; float mark[N],sum_m,max_m,min_m; int i,j,nPW,nXS; printf("請輸入評委個數(至少3個):"); scanf("%d",&nPW); if(nPW<3) return 0; printf("\n請輸入選手個數:"); scanf("%d",&nXS); if(nXS==0) return 0; printf("\n請輸入選手得分,以製表符間隔:\n"); printf("\n選手"); for(i=0; i<nPW; i++) printf("\t評委%d",i+1); for(i=0; i<nXS; i++) { printf("\n %d號\t",i+1); xs[i].ID = i+1; sum_m = 0; for(j=0; j<nPW; j++) { scanf("%f",&mark[j]); xs[i].mark[j] = mark[j]; sum_m += mark[j]; } max_m = min_m = mark[0]; for(j=0; j<nPW; j++) //求某一選手的最高得分與最低得分 { if(xs[i].mark[j]>max_m) max_m = xs[i].mark[j]; else if(xs[i].mark[j]<min_m) min_m = xs[i].mark[j]; } sum_m = sum_m-(max_m+min_m); xs[i].max_m = max_m; xs[i].min_m = min_m; xs[i].aver_m = sum_m/(float)(nPW-2); //某選手最終得分 } for(i=0; i<nXS; i++) //冒泡排序 { for(j=nXS-1; j>i; j--) { if(xs[j].aver_m > xs[j-1].aver_m) { (&temp,&xs[j]); (&xs[j],&xs[j-1]); (&xs[j-1],&temp); } } } printf("\n歌手大賽結果如下:\n"); printf("\n\t選手\t最高分\t最低分\t最終得分"); for(i=0; i<nXS; i++) { printf("\n第%d名:",i+1); printf("\t%d號",xs[i].ID); printf("\t%.2f",xs[i].max_m); printf("\t%.2f",xs[i].min_m); printf("\t%.2f\n",xs[i].aver_m); } return 0; } //程序運行結果如下 /* 請輸入評委個數(至少3個):4 請輸入選手個數:6 請輸入選手得分,以製表符間隔: 選手 評委1 評委2 評委3 評委4 1號 6.8 6.9 6.6 7.0 2號 7.2 7.4 7.5 7.8 3號 6.4 6.8 6.8 6.4 4號 7.5 7.7 7.9 8.0 5號 8.3 8.6 8.5 8.5 6號 8.8 8.8 9.0 8.6 歌手大賽結果如下: 選手 最高分 最低分 最終得分 第1名: 6號 9.00 8.60 8.80 第2名: 5號 8.60 8.30 8.50 第3名: 4號 8.00 7.50 7.80 第4名: 2號 7.80 7.20 7.45 第5名: 1號 7.00 6.60 6.85 第6名: 3號 6.80 6.40 6.60 Press any key to continue */

❻ C語言成績排名次。

#include<stdio.h>
#include<stdlib.h>
typedefintunit;//可改為double型
intcmp(constvoid*a,constvoid*b)
{
unitA=*(unit*)a;
unitB=*(unit*)b;
if(A<B)return1;
if(A>B)return-1;
return0;
}
inti,j,k,m,n;
unit*data;
intmain()
{
scanf("%d",&n);//輸入人數
data=(unit*)malloc(n*sizeof(unit));
for(i=0;i<n;i++)
{
if(sizeof(unit)==sizeof(int))scanf("%d",&data[i]);
elseif(sizeof(unit)==sizeof(double))scanf("%lf",&data[i]);
}
qsort(data,n,sizeof(data[0]),cmp);
for(i=0;i<n;i++)
{
if(sizeof(unit)==sizeof(int))printf("%d",data[i]);
elseif(sizeof(unit)==sizeof(double))printf("%lf",data[i]);
}
}

從高到低排分數

❼ 用C語言統計歌唱比賽成績。

#include<stdio.h>
#defineN7
#defineM10
structSing
{
charname[20];
intscore[10];
floataver;
}sing[10];
voidmywrite()
{
inti=0,j=0,max=0,min,sum;
for(i=0;i<M;i++)
{min=0;
max=0;
sum=0;
printf("請輸入第%d個選手的姓名 ",i+1);
scanf("%s",sing[i].name);
printf("請依次輸入成績: ");
scanf("%d",&sing[i].score[0]);
min=sing[i].score[0];
sum=min;
for(j=1;j<N;j++)
{
scanf("%d",&sing[i].score[j]);
sum=sum+sing[i].score[j];
if(max<sing[i].score[j])
{
max=sing[i].score[j];
}
if(min>sing[i].score[j])
min=sing[i].score[j];
}
sing[i].aver=(sum-max-min)/5.0;
}
}
voidsort()
{
inti,j;
structSings;
for(i=0;i<M;i++)
for(j=0;j<M-1-i;j++)
{
if(sing[j].aver<sing[j+1].aver)
{
s=sing[j];
sing[j]=sing[j+1];
sing[j+1]=s;

}
}

}
intmain()
{
mywrite();
sort();
for(inti=0;i<M;i++)
{
printf("%-15s%f ",sing[i].name,sing[i].aver);
}
return0;

}

❽ c語言中排名問題

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

#definestatusint

#defineNAME30/*各類名稱字數上限*/
#defineSTU100/*學生人數上限*/
#defineSUB10/*課程數上限*/

typedefstructrecord{
floatscore;/*成績分數*/
}record;

typedefstructstudent{
intid;/*索引性質的id*/
intno;/*學號*/
charname[NAME];/*姓名*/
recordscores[SUB];/*各門課成績分數*/
floattotalScore;/*總分*/
floataverageScore;/*平均分*/
intranking;/*名次*/
}student;

intsubNum=3;/*課程數*/
charsubject[SUB][NAME]={"數學","英語","計算機"};/*課程名稱*/


/**********************以下為函數聲明**********************/
intstuInfoEmpty(studentstu[],intstuNum);/*學生信息判空*/

statusinputStuInfo(studentstu[],intstuIndex,intsubNum);/*錄入單個學生信息*/
statusinputAllStuInfo(studentstu[],int*stuNum,intsubNum);/*錄入全部學生信息*/

statuscalcStuInfo(studentstu[],intstuIndex,intsubNum);/*計算處理單個學生信息*/
statuscalcAllStuInfo(studentstu[],intstuNum,intsubNum);/*計算處理全部學生信息*/

statusprintStuInfo(studentstu[],intstuIndex,intsubNum,intinclRanking);/*輸出單個學生信息*/
statusprintAllStuInfo(studentstu[],intstuNum,intsubNum,intinclRanking);/*輸出全部學生信息*/

statusdescSort(studentstu[],intstuNum,intsubNum);/*按總分降序排列並錄入名次*/

intgetCommand(void);/*輸入命令編號*/
statusprintMeunText(void);/*列印菜單文本*/
statusrunMeun(studentstu[],intstuNum,intsubNum);/*調出菜單*/
/**********************以上為函數聲明**********************/


intmain(void){
studentstu[STU]={-1};/*學生結構體數組*/
intstuNum;
inti;

runMeun(stu,stuNum,subNum);

return0;
}

/*學生信息判空*/
/*為空返回1;不空返回0*/
intstuInfoEmpty(studentstu[],intstuNum){
inti;

if(stuNum==0)
return1;
for(i=0;i<stuNum;i++)
if(stu[i].id==-1)
return1;
return0;
}

/*錄入單個學生信息*/
statusinputStuInfo(studentstu[],intstuIndex,intsubNum){
inti;

scanf("%d",&stu[stuIndex].no);/*學號*/
if(stu[stuIndex].no==-1){/*學號錄入-1以結束*/
stu[stuIndex].id=-1;
return-1;/*本次未錄入*/
}

scanf("%s",&stu[stuIndex].name);/*姓名*/

for(i=0;i<subNum;i++){
scanf("%f",&stu[stuIndex].scores[i].score);
}/*各門課成績分數*/

for(i=0;i<subNum;i++)
if(stu[stuIndex].scores[i].score>100||stu[stuIndex].scores[i].score<0)
return0;/*本次錄入錯誤*/

return1;/*本次錄入成功*/
}

/*錄入全部學生信息*/
statusinputAllStuInfo(studentstu[],int*stuNum,intsubNum){
inti,inputStatus,count;

puts("======================================================");
puts("錄入學生信息");
puts("======================================================");
putchar(' ');

if(*stuNum!=0){
printf("已有%d名學生信息! ",*stuNum);
putchar(' ');
puts("繼續錄入以新增(學號錄入-1以結束)↓↓");
putchar(' ');
}
else{
puts("請錄入學生信息(學號錄入-1以結束)↓↓");
putchar(' ');
}

/*錄入信息之表頭*/
puts("------------------------------------------------------");
printf(" 學號 姓名 ");
for(i=0;i<subNum;i++)
printf("%s ",subject[i]);
putchar(' ');
puts("------------------------------------------------------");

/*錄入信息*/
count=0;
i=*stuNum;
while(1){
printf("第%d名學生 ",i+1);
stu[i].id=i+1;
inputStatus=inputStuInfo(stu,i,subNum);
if(inputStatus==1){
i++;
count++;
}
elseif(inputStatus==0){
putchar(' ');
puts("成績輸入錯誤!請重新輸入↓");
continue;
}
elseif(inputStatus==-1)
break;
}
*stuNum+=count;
puts("------------------------------------------------------");
putchar(' ');

putchar(' ');
if(count!=0)
printf("本次%d名學生信息錄入完畢!即將返回主菜單。 ",count);
else
printf("您本次未輸入學生信息!即將返回主菜單。 ");
putchar(' ');
puts("按任意鍵繼續...");
putchar(' ');
fflush(stdin);
getch();
return1;
}

/*計算處理單個學生信息*/
statuscalcStuInfo(studentstu[],intstuIndex,intsubNum){
inti;

stu[stuIndex].totalScore=stu[stuIndex].averageScore=0;

/*計算總分*/
for(i=0;i<subNum;i++){
stu[stuIndex].totalScore+=stu[stuIndex].scores[i].score;
}
stu[stuIndex].averageScore=stu[stuIndex].totalScore/subNum;/*計算平均分*/

return1;
}

/*計算處理全部學生信息*/
statuscalcAllStuInfo(studentstu[],intstuNum,intsubNum){
inti;

/*計算總分、平均分等*/
for(i=0;i<stuNum;i++)
calcStuInfo(stu,i,subNum);

return1;
}

/*輸出單個學生信息*/
statusprintStuInfo(studentstu[],intstuIndex,intsubNum,intinclRanking){
inti;

if(inclRanking)
printf("%d ",stu[stuIndex].ranking);/*名次*/
printf("%d ",stu[stuIndex].no);/*學號*/
printf("%s ",stu[stuIndex].name);/*姓名*/
for(i=0;i<subNum;i++)/*各門課成績分數*/
printf("%.2f ",stu[stuIndex].scores[i].score);
printf("%.2f ",stu[stuIndex].totalScore);/*總分*/
printf("%.2f ",stu[stuIndex].averageScore);/*平均分*/
putchar(' ');

return1;
}

/*輸出全部學生信息*/
statusprintAllStuInfo(studentstu[],intstuNum,intsubNum,intinclRanking){
inti;

if(stuInfoEmpty(stu,stuNum)){
puts("尚未錄入學生信息!即將返回主菜單。");
putchar(' ');
puts("按任意鍵繼續...");
putchar(' ');
fflush(stdin);
getch();
return0;
}

puts("======================================================");
puts("全部學生信息");
puts("======================================================");
putchar(' ');

if(inclRanking)
printf("%d名學生信息如下,按總分由高到低排列名次↓↓ ",stuNum);
else
printf("%d名學生信息如下↓↓ ",stuNum);
putchar(' ');

/*輸出信息之表頭*/
puts("------------------------------------------------------");
if(inclRanking)
printf("名次 ");
printf("學號 ");
printf("姓名 ");
for(i=0;i<subNum;i++)
printf("%s ",subject[i]);
printf("總分 ");
printf("平均分 ");
putchar(' ');
puts("------------------------------------------------------");

/*輸出信息*/
for(i=0;i<stuNum;i++)
printStuInfo(stu,i,subNum,inclRanking);
puts("------------------------------------------------------");
putchar(' ');

putchar(' ');
puts("學生信息輸出完畢!即將返回主菜單。");
putchar(' ');
puts("按任意鍵繼續...");
putchar(' ');
fflush(stdin);
getch();
return1;
}

/*按總分降序排序、錄入名次並輸出*/
statusdescSort(studentstu[],intstuNum,intsubNum){
inti,j;
studenttemp;

if(stuInfoEmpty(stu,stuNum))
return0;

/*按總分降序*/
for(i=0;i<stuNum-1;i++)
for(j=0;j<stuNum-1-i;j++)
if(stu[j].totalScore<stu[j+1].totalScore){
temp=stu[j];
stu[j]=stu[j+1];
stu[j+1]=temp;
}

/*錄入名次*/
for(i=0;i<stuNum;i++)
stu[i].ranking=i+1;

return1;
}

/*輸入命令編號*/
intgetCommand(void){
intkey;/*命令編號*/

printf("請輸入命令編號以開啟操作:");
scanf("%d",&key);

returnkey;
}

/*列印菜單文本*/
statusprintMeunText(void){
puts("======================================================");
puts("學生信息管理");
puts("------------------------------------------------------");
printf("%4c 功能詳情 ",'#');
puts("------------------------------------------------------");
printf("%4d 輸入學生信息 ",1);
printf("%4d 按成績由高到低排序 ",2);
printf("%4d 退出 ",7);
puts("======================================================");
putchar(' ');

return1;
}

statusrunMeun(studentstu[],intstuNum,intsubNum){
intkey;
do{
system("cls");/*清屏*/
printMeunText();/*列印菜單文本*/
key=getCommand();/*輸入命令編號*/
putchar(' ');
switch(key){
case1:system("cls");inputAllStuInfo(stu,&stuNum,subNum);calcAllStuInfo(stu,stuNum,subNum);break;
case2:system("cls");descSort(stu,stuNum,subNum);printAllStuInfo(stu,stuNum,subNum,1);break;
case7:puts("程序結束! ");break;
default:puts("輸入錯誤,請重新輸入! 按任意鍵繼續...");getch();break;
}
}while(key!=7);

getch();
return1;
}

運行結果

主菜單

❾ 猜比賽名次問題c語言程序設計

好難真的寫不出來,不過從邏輯上分知析結果是EDACB,可以一個道個分析乙猜的名次正確的是哪個?然後重新組合把結果輸出來。窮舉有兩個步內驟:1.乙是哪兩個順序是正確的;2.重新組合且不能容對序號,序號不能相鄰。