当前位置:首页 » 编程语言 » 裁判c语言

裁判c语言

发布时间: 2022-05-26 22:37:35

c语言程序设计 裁判打分系统

#include <stdio.h>
int main()
{
double a[5];
double sum,min,max;
int i;
for(i=0;i<5;i++) //循环5次
{
scanf("%lf",&a[i]); //输入分数
if(i==0) //如果是第一个数,就设置最大值最小值为第一个数
{
min=a[i];
max=a[i];
}
else{ //若不是第一个数,那么如果这个数比当前最大值还大,则设为最大值(最小值同理)
if(a[i]>max) max=a[i];
if(a[i]<min) min=a[i];
}
sum+=a[i]; // 计算总和
}

printf("%lf",(sum-min-max)/3); //总和减去最大值,最小值,除以个数
}

㈡ 裁判评分的C程序,建两个函数,一个是排序,另一的是去头去尾求平局值。改错

问题很多
1:一个是返回值类型和定义的错误
2:局部变量和全局变量的混淆
3:对于效率的不重视

#include "stdafx.h"
#include<conio.h>
#include<stdio.h>
#include<string.h>

int paixu(int a[],int k)//此处如果要返回数组,应该是:int* paixu(int* a, int k) 其实是完全不用返回的,因为a数组所在的区域是一定的,而且将里面的数据已经进行了排列
{
int i,j,b;
for(i=0;i<k;i++)//从效率上讲,此处这样写更好 for(i=0;i<k-1;i++),可以少进入一次循环,for循环还是比较耗时的,数据小时感觉不出来,但是如果很大时很厉害
for(j=i;j<k;j++)//从效率上讲,此处这样更好 for(j=i + 1;j<k;j++) 这样就不要浪费一次自身比较
if(a[i]>a[j])
{
b=a[i];
a[i]=a[j];
a[j]=b;
}

return (a[]);//最好不返回,这时此处不写或者写上return; 或者用我给的定义要返回就写 return a;

}

int jishuan(int a[],int k)
{
int all,average,i;
for(i=1;i<(k-1);i++)
all=+a[i];
average=all/(k-2);//如果k = 2怎么办,请给一个除0异常处理
return average;
}

void main(void)
{
int b[1000][1000],hang[1000],a[100000],i,j,h,l,average;
printf("input hang number:");
scanf("%d",&h);
printf("input lie number:");
scanf("%d",&l);
for(i=0;i<h;i++)
{
printf("input %c th score \n",i);
for(j=0;j<l;j++)
scanf("%d",&b[i][j]);
}

for(i=0;i<h;i++)
{
for(j=0;j<l;j++)
{
hang[j]=b[i][j];

}
paixu(hang[],l);//此处不接收返回,所以就最好不要管返回了
jishuan(hang[],l);//此处必须要接收返回,因为下面一句的average是jishuan内部的局部变量,外面看不到,所以可以写成int average = jishuan(hang[],l);
a[i]=average;//照我上面修改了就可以不用管了
paixu(a[],h);//此处有问题,最好放在这个函数块的外面,一则效率有提高,二则避免下次给进的数据将相应位已有的排序后的数据覆盖,非常危险

}
for(i=0;i<h;i++)
printf("%c ",a[i]);

getch();

}

㈢ C语言程序设计:裁判评分系统.求源或者给一个类似的,要求在补充里,财富值我还可以加。急需!

#include <stdio.h>
#include <stdlib.h>
#define N 10
#define M 7
struct athlete
{
int num;
char name[N];
double grade;
}ath[N + 1];

//(1)预先输入运动员的号码与姓名
void input()
{
int i;
for(i = 1; i <= N; i++)
{
system("cls");
printf("请输入第%d个运动员的号码和姓名,以空格隔开\n",i);
scanf("%d %s",&ath[i].num, ath[i].name);
}
system("cls");
}

//(2)运动员按输入顺序完成比赛
void getGrade()
{
int i,j,max,min;
int data[M+1];
for(i = 1; i <= N; i++)
{
max = -100000000;
min = 100000000;
int sum = 0;
for(j = 1; j <= M; j++)
{
system("cls");
printf("请输入第%d个裁判给第%d个运动员的成绩\n",j,i);
scanf("%d",&data[j]);
if(data[i] > max)
max = data[i];
if(data[i] < min)
min = data[i];
sum += data[i];
}
ath[i].grade = 1.0 * (sum - max - min) / (M - 2);
}
system("cls");
}

//(3)按成绩有高到低进行名次排列
void sort()
{
int i,j;
for(i = 1; i <= N; i++)
{
for(j = i + 1; j <= N; j++)
if(ath[i].grade < ath[j].grade)
{
ath[0] = ath[i];
ath[i] = ath[j];
ath[j] = ath[0];
}
}
printf("名次 姓名 成绩\n");
for(i = 1; i <= N; i++)
{
printf("%4d %4s %.1lf\n",i,ath[i].name,ath[i].grade);
}
}

//(4)输出金银铜
void output123()
{
int i = 0, cnt = 0;
printf("金奖:\n");
do{
i++;
printf("%4d %4s\n",ath[i].num,ath[i].name);
}while(ath[i].grade - ath[i+1].grade<1e-6);
printf("银奖:\n");
do{
i++;
printf("%4d %4s\n",ath[i].num,ath[i].name);
}while(ath[i].grade - ath[i+1].grade<1e-6);
printf("铜奖:\n");
do{
i++;
printf("%4d %4s\n",ath[i].num,ath[i].name);
}while(ath[i].grade - ath[i+1].grade<1e-6);
}
int main()
{
input();
getGrade();
sort();
output123();
return 0;
}
辛苦了半天0.0

㈣ 实现一个有n个裁判打分系统,C语言题目 麻烦高手帮忙啊!

#include<stdio.h>
#include<stdlib.h>
#define
MAX
100
void
main(void)
{
int
n,i=0;
float
aver=0.0,sum=0.0,*start,*p,max,min;
//获取裁判数n
do{
printf("请输入裁判数--->n:\n");
scanf("%d",&n);
}while((n<=2)
||
(n>MAX));
start
=
(float
*)malloc(n*sizeof(float));
p
=
start;
//获取裁判打分,带检测,超出范围的重新打分
do
{
printf("请裁判%d打分:",i);
scanf("%f",p);
if((*p<0)
||
(*p>100))
printf("打分超出范围,请重新打分:\n");
else
{
i++;
p++;
}
}while(i!=n);
p
=
start;
max=*p;
min=*p;
//求最高分,最低分和平均分
for(i=0;i<n;i++)
{
if(*p
>
max)
max=*p;
else
if(*p
<
min)
min=*p;
sum
=
sum
+
(*p);
p++;
}
aver
=
(sum
-
max
-
min)/(n-2);
printf("去掉一个最高分%6.2f分,去掉一个最低分%6.2f分,平均分为%6.2f分。\n",max,min,aver);
}

㈤ C语言题目,提交到在线裁判系统说是输出格式错误,请问怎么错了怎么改正

哦,他说只输出一行,所以去掉printf("\n");因为\n换行就成输出两行文本了

㈥ C语言作业,裁判评分系统

犯嘀咕

㈦ 7个裁判给选手打分,要求去掉最高分和最低分,求平匀分,用c语言怎么做

将7个数赋值给一个数组,然后进行排序,排序后设置一个sum=0值将数组中第二个值到第六个值依次加起来(这样就去掉了最高分和最低分),最后将sum除以5就行了

㈧ C语言程序设计裁判打分系统

# include <stdio.h>
# define N 4
void main()
{
int a[N] ={0};
int i,min,max,sum;
sum = 0;
for(i=0; i<N; i++)
{
printf("请输入裁判给的分数:");
scanf("%d",&a[i]);
if (a[i]<0 || a[i]>100)
{
printf("输入有误,请重新输入:");
scanf("%d",&a[i]);
}
}
min = a[0];
max = a[0];
for (i=0; i<N; i++)
{
if (min > a[i])
min = a[i];
if (max< a[i])
max = a[i];
sum += a[i];
}
printf("该选手的平均分为:%d",(sum-min-max)/(N-2));
}

㈨ 求大神解答C语言编程

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

//定义一个结构体保存裁判id和分数
typedef struct{
unsigned char judegId;//裁判ID
unsigned char judegScore;//裁判给的分数
}judge;

int main()
{
judge jg[10];
int i;
int score;
for(i = 0;i < 10;i++)
{
printf("请输入裁判%d打的分数\n",i+1);
scanf("%d",&score);
getchar();
if(score <= 0 || score > 100)
{
printf("输入分数无效,重新输入,分数要求1-100!\n");
printf("请输入裁判%d打的分数\n",i+1);
scanf("%d",&score);
getchar();
if(score <= 0 || score > 100)
{
printf("无效输入,程序退出!\n");
return -1;
}
}
jg[i].judegId = i;
jg[i].judegScore = score;
}

//对数组从分数低到分数高排序
for(i = 0;i < 9;i++)
{
if(jg[i].judegScore > jg[i+1].judegScore)
{
unsigned char tmpId = jg[i].judegId;
unsigned char tmpScore = jg[i].judegScore;
jg[i].judegId = jg[i+1].judegId;
jg[i].judegScore = jg[i+1].judegScore;
jg[i+1].judegScore = tmpScore;
jg[i+1].judegId = tmpId;
}
}
//打印所有得分
printf("选手得分为:\n");
for(i = 0;i < 10;i++)
{
printf("%d ",jg[i].judegScore);
}
printf("\n");

//计算评价得分
unsigned short sum = 0;
for(i = 1;i < 9;i++)
{
sum+=jg[i].judegScore;
}
unsigned char average = sum/8;
printf("去掉最高分%d,最低分%d,评价得分为%d分\n",jg[9].judegScore,jg[0].judegScore,average);

unsigned char fairIndex0 = 0;
unsigned char unfairIndex = 0;
//查找与平均值差距最小的
for(i = 1;i < 10;i++)
{
//abs为求绝对值函数
if(abs(jg[i].judegScore-average) < abs(jg[fairIndex].judegScore-average))
{
fairIndex = i;
}
}
printf("最公平的教练是%d,打分为%d\n",jg[fairIndex].judegId,jg[fairIndex].judegScore);

//查找与平均分差距最大的
for(i = 1;i < 10;i++)
{
if(abs(jg[i].judegScore-average) > abs(jg[unfairIndex].judegScore-average))
{
unfairIndex = i;
}
}
printf("最不公平的教练是%d,打分为%d\n",jg[unfairIndex].judegId,jg[unfairIndex].judegScore);
return 0;
}

//留一个问题给你,可能有两个裁判是最公平或者最不公平的,这个自己想想怎么做

㈩ C语言程序设计:有十个选手参加歌唱比赛,十个裁判对每个选手的演唱进行打分

程序很简单不难写,但这个程序也要考虑很多方面,就你提的这几点也不全面。最少也需要2~3个小时才能拿出可用的程序。

热点内容
php读取时间 发布:2025-02-12 16:23:48 浏览:384
祛痘液如何配置 发布:2025-02-12 16:21:22 浏览:747
安卓手机如何拷贝电脑里 发布:2025-02-12 16:16:30 浏览:859
linux怎么编译内核 发布:2025-02-12 16:03:02 浏览:188
新的怎么注册微信账号密码忘了怎么办 发布:2025-02-12 15:50:08 浏览:659
android代码搜索 发布:2025-02-12 15:45:36 浏览:778
矢量图算法 发布:2025-02-12 15:43:53 浏览:192
python量化投资入门 发布:2025-02-12 15:34:17 浏览:174
苹果的天气跟安卓的天气哪个准 发布:2025-02-12 15:33:37 浏览:313
西安分布式存储咨询 发布:2025-02-12 15:33:24 浏览:179