当前位置:首页 » 编程语言 » 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.重新组合且不能容对序号,序号不能相邻。