A. c语言编程:歌唱比赛评委评分系统
#include <stdio.h>
#include<string.h>
void main()
{
int i,j,m,n;
float num,xgrade[100],max,min,pgrade[100],pdis[100];
char str[10],xname[100][10],pname[100][10];
printf("请输入评委人数:");
scanf("%d",&m);
printf("\n请分别输入评委姓名:\n");
for(i=0;i<m;i++)
{
scanf("%s",&pname[i]);//评委姓名
pgrade[i]=0;//评委给的分
pdis[i]=0;//评委给分和最后结果的差距
}
printf("\n请输入选手人数:");
scanf("%d",&n);
printf("\n请分别输入选手姓名:\n");
for(i=0;i<n;i++)
{
scanf("%s",&xname[i]);//选手姓名
xgrade[i]=0;//选手成绩
}
for(i=0;i<n;i++)
{
max=0;min=10;//评委给选手的最大最小成绩
printf("\n请给选手%s打分!",xname[i]);
for(j=0;j<m;j++)
{
printf("\n%s老师给的分数为:",pname[j]);
scanf("%f",&pgrade[j]);
xgrade[i]+=pgrade[j];//加到该选手的总分数中
if(max<pgrade[j])
max=pgrade[j];
if(min>pgrade[j])
min=pgrade[j];
}
xgrade[i]=(xgrade[i]-max-min)/(m-2);//最后成绩为总成绩-最高分-最低分,然后平均
for(j=0;j<m;j++)//算出每个评委本次评分和最终成绩的差,加到pdis中保存起来
{
pdis[j]+=pgrade[j]>xgrade[i]?(pgrade[j]-xgrade[i]):(xgrade[i]-pgrade[j]);
}
}
for(i=0;i<n-1;i++)
for(j=0;j<n-1-i;j++)
if(xgrade[j]<xgrade[j+1])
{
strcpy(str,xname[j]);
strcpy(xname[j],xname[j+1]);
strcpy(xname[j+1],str);
num=xgrade[j];
xgrade[j]=xgrade[j+1];
xgrade[j+1]=num;
}
printf("\n选手按名次排名为:\n");
printf("选手名\t得分\n");
for(i=0;i<n;i++)
printf("%s\t%f\n",xname[i],xgrade[i]);
for(i=0;i<m-1;i++)
for(j=0;j<m-1-i;j++)
if(pdis[j]>pdis[j+1])
{
strcpy(str,pname[j]);
strcpy(pname[j],pname[j+1]);
strcpy(pname[j+1],str);
num=pdis[j];
pdis[j]=pdis[j+1];
pdis[j+1]=num;
}
printf("\n评委按名次排名为:\n");
printf("评委名\t差分\n");
for(i=0;i<m;i++)
printf("%s\t%f\n",pname[i],pdis[i]);
}
vae.la
B. c语言编程:本课题模拟一个简单的比赛评分系统,选手从1号开始连续编号,选手得分分为专业素质得分和综
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#defineMAXNAMELENGTH13
typedefstruct{
intid;
charname[MAXNAMELENGTH];
doublescores[9];
doublescore1,score2;
doublescore;
}PLAYER;
voidPlayer(PLAYER*dst,constPLAYERsrc){
memcpy(dst->name,src.name,MAXNAMELENGTH*sizeof(char));
memcpy(dst->scores,src.scores,9*sizeof(double));
dst->id=src.id;
dst->score1=src.score1;
dst->score2=src.score2;
dst->score=src.score;
}
voidbubbleSort_Players(PLAYER*src,intlen){//(descending).Timecomplex:O(n^2)
inti,j;
PLAYERtemp;
for(i=0;i<len;i++){
for(intj=0;j<len-1;j++){
if(src[j].score<src[j+1].score){
Player(&temp,src[j]);
Player(src+j,src[j+1]);
Player(src+j+1,temp);
}
}
}
}
doublegetScore(double*src,intn){
doubleret=0,mins=100,maxs=0;
for(inti=0;i<n;i++){
if(src[i]>maxs)
maxs=src[i];
if(src[i]<mins)
mins=src[i];
ret+=src[i];
}
return(ret-mins-maxs)/(n-2);
}
intmain(){
freopen("in.txt","r",stdin);
intn,i,j;
PLAYER*pl;
printf("请输入选手数量:");
scanf("%d",&n);
FILE*fp=fopen("PlayerScore.txt","w");
pl=(PLAYER*)malloc(sizeof(PLAYER)*n);
fprintf(fp,"|id|name|judge1|judge2|judge3|judge4|judge5|judge6|judge7|judge8|judge9|ProScore|QualityScore|TotalScore| ");
for(i=0;i<n;i++){
printf("请输入第%d名选手的姓名:",i+1);
scanf("%s",pl[i].name);
printf("请输入9名裁判对%s的打分(以空格分隔): ",pl[i].name);
pl[i].id=i+1;
for(j=0;j<9;j++)
scanf("%lf",pl[i].scores+j);
pl[i].score1=getScore(pl[i].scores,9);
printf("请输入选手的综合素质得分:");
scanf("%lf",&pl[i].score2);
pl[i].score=0.9*pl[i].score1+0.1*pl[i].score2;
}
bubbleSort_Players(pl,n);
for(i=0;i<n;i++){
fprintf(fp,"|%06d|%12.12s|",pl[i].id,pl[i].name);
for(j=0;j<9;j++)
fprintf(fp,"%6.2lf|",pl[i].scores[j]);
fprintf(fp,"%6.2lf|%6.2lf|%6.2lf| ",pl[i].score1,pl[i].score2,pl[i].score);
}
return0;
}
东西写好了,左右的输出都存在本程序目录下的PlayerScore.txt里,望采纳
C. c语言的流程图怎么画
如果会编程序而不会画流程图,建议先把自己的程序研究一遍。
若是画主程序流程图,那就需看懂主函数的程序,按照main()函数中的具体书写过程来画,例如:
程序开始---定义变量---初始化变量---使用选择或者循环或者顺序结构---调用某一个子函数(可以没有)---程序结束
以上是最简单的程序流程图画法。
若你是画某一算法或是某一模块的流程图,就要把相应的算法或是模块看懂。分析算法或是模块的具体走法,根据此走法就可以画出对应的流程图。
如果你是初学者,想根据流程图的画法而去尝试编程,建议就一定要研究清楚每一个使用到的算法,读懂题目再开始编程。
下面是使VISO画流程图的几个要点:
1、选择下载一个合适版本的VISO
2、程序开始结束用胶囊
3、分页用圆圈
4、输入用平行四边形
5、语句用方块
6、判断用菱形
7、打印用波浪
D. 如何用C语言编程出“给出一个百分制成绩,要求输出成绩等级”
解:算法:
S1输入a;
S2如果a≥90,则输出A,结束算法,否则执行S3;
S3如果a≥80,则输出B,结束算法,否则执行S4;
S4如果a≥70,则输出C,结束算法,否则执行S5;
S5如果a≥60,则输出D,结束算法,否则输出E。
流程图如图所示:
E. C语言评分程序
#include <stdio.h>#define SINGERS 6#define JUDGES 5typedef struct data{ int order; char name[16]; double score[JUDGES];} DATA; int main( void ){ DATA student[SINGERS]; int i, j; for ( i = 0; i < SINGERS; ++i ) { printf("Enter the name of singer %d: ",i+1); fflush(stdin); gets(student[i].name); printf("Enter %s\'s starting order: ",student[i].name); scanf("%d",&student[i].order); for ( j = 0; j < JUDGES; ++j ) { printf("Enter score %d: ",j+1); scanf("%lf",&student[i].score[j]); } putchar('\n'); } printf("\n\nName Order "); for ( i = 0; i < JUDGES; ++i ) printf("Score%d ",i+1); putchar('\n'); for ( i = 0; i < SINGERS; ++i ) { printf("\n%-15s%-6d",student[i].name,student[i].order); for ( j = 0; j < JUDGES; ++j ) { printf("%-7g",student[i].score[j]); } } puts("\n\nThank you!"); getch(); return 0;}
F. C语言 “评委打分”画流程图或写程序
可以分为以下三步:1.用一个数组记录十个评委的分数,如 int score[10];
2.对数组进行排序,从大到小、从小到大都可以,可以用最简单的冒泡算法
3.去数组下标为1~8的元素,求和再除以8就得到了平均分
G. C语言:歌唱比赛评分
#include<stdio.h>
intmain()
{
intN,a,max,min,sum,i;
scanf("%d",&N);
scanf("%d",&a);
max=min=sum=a;
for(i=1;i<N;i++)
{
scanf("%d",&a);
if(a>max)max=a;
if(a<min)min=a;
sum+=a;
}
sum-=max+min;
printf("%.2f ",(float)sum/(N-2));
return0;
}