#include<stdioh>
#include<conioh>
#define _for(i,a,b) for(int i=a;i<b;i++)
using namespace std;
int scores[10];
double average,maxn,minn=0x7f,imax,imin;
int main(){
system("cls");
_for(i,0,10){
printf("Please input a score:");
scanf("%d",&scores[i]);
average+=scores[i];
if(maxn<scores[i]){
maxn=scores[i];
imax=i;
}
if(minn>scores[i]){
minn=scores[i];
imin=i;
}
printf("\n");
}
average-=maxn+minn;
average/=80;
printf("\nThe average: %6lf\n",average);
printf("The max: %6lf\n",maxn);
printf("The min: %6lf\n",minn);
_for(i,0,10){
if(scores[i]>average){
printf("%d,%6lf\n",i+1,double(maxn));
}
}
printf("max: %d,%6lf\n",imax+1,maxn);
printf("min: %d,%6lf\n\n",imin+1,minn);
printf("Next singer < y or Y>: ");
char k=getch();
if(k=='y' || k=='Y')main();
return 0;
}
#include <stdioh>
#define PW_CNT 3
#define XS_CNT 1
int main(int argc, char argv[])
{
float score[XS_CNT][PW_CNT] = {{00f}};
float sum[XS_CNT] = {00f};
float avg[XS_CNT] = {00f};
int i = 0, j = 0;
for (i = 0; i < XS_CNT; i++)
{
for (j = 0; j < PW_CNT; j++)
{
printf("请输入第%d位评委对第%d位选手的评分:\n", j+1, i+1);
scanf("%f", &score[i][j]);
sum[i] += score[i][j];
}
avg[i] = sum[i]/PW_CNT;
printf("第%d位选手的总成绩:%2f 平均成绩:%2f\n", i+1, sum[i], avg[i]);
}
return 0;
}
刚刚的回答我又改了下,这次能改选手和评委数了。
果然是两个人的提问,问题竟然一模一样
这是我上一个的回答
#include <stdioh>
void Input(float score[ ],int n)
{
int i ;
for (i = 0; i < n; i ++) {
printf("请输入第%d个裁判的分数:",i + 1);
scanf("%f",&score[i]);
}
}
float Cal_ave(float score[],int n,float max,float min)
{
float average = 00, sum = 00;
int i;
max = min = score[0];
for (i = 0; i < n; i ++) {
if (max < score[i]) {
max = score[i];
}
if (min > score[i]) {
min = score[i];
}
sum += score[i];
}
sum = sum - max - min;
average = sum / (n - 2);
return average;
}
int main(void)
{
float score[10];
float max, min, last;
Input(score, 10);
last = Cal_ave(score, 10, &max, &min);
printf("最高得分为:%2f最低得分为:%2f最终分为:%2f",max, min, last);
return 0;
}
#include<stdioh>
#include<stringh>
#include<mathh>
#define N 20//定义最多选手个数
typedef struct xuanshou
{
char name[20];//选手姓名
float a[10];//评委打分
float grade;//平均分,嫌麻烦可以直接放到数组里去
}Xu;
Xu xuanshou[N];//选手数组
Xu temp;//用来调换
void init(int n)//输入函数
{
int i,j;
float sum,max,min;
char c;
for(i=0;i<n;i++)
{
sum=0;//统计总分最后求得平均分
max=0;min=100;
printf("请输入第%d个选手的姓名:",i+1);
scanf("%s",&xuanshou[i]name);
printf("请输入10位评委的打分:");
for(j=0;j<10;j++)
{
scanf("%f",&xuanshou[i]a[j]);
scanf("%c",&c);
sum+=xuanshou[i]a[j];
if(max<xuanshou[i]a[j])max=xuanshou[i]a[j];
if(min>xuanshou[i]a[j])min=xuanshou[i]a[j];
if(j==9)xuanshou[i]grade=(sum-max-min)/8;
}
}
tempgrade=xuanshou[0]grade;
}
int mostequal(int j)//最公平
{
int i,flag;//flag记录最公平的评委序号
float cha=fabs(xuanshou[j]a[0]-xuanshou[j]grade);//作差比较
flag=0;
for(i=1;i<10;i++)
if(cha>fabs(xuanshou[j]a[i]-xuanshou[j]grade))
{
cha=fabs(xuanshou[j]a[i]-xuanshou[j]grade);
flag=i;
}
return flag+1;
}
int leastequal(int j)//最不公平
{
int i,flag;//flag记录最不公平的评委序号
float cha=fabs(xuanshou[j]a[0]-xuanshou[j]grade);//作差比较
flag=0;
for(i=1;i<10;i++)
if(cha<fabs(xuanshou[j]a[i]-xuanshou[j]grade))
{
cha=fabs(xuanshou[j]a[i]-xuanshou[j]grade);
flag=i;
}
return flag+1;
}
void paixu(int n)//对数组进行从大到小的排序
{
int i,j,k;
for(i=0;i<n;i++)
for(j=i+1;j<10;j++)
if(tempgrade<xuanshou[j]grade)
{
strcpy(tempname,xuanshou[i]name);
tempgrade=xuanshou[i]grade;
for(k=0;k<10;k++)
tempa[k]=xuanshou[i]a[k];//temp存储当前排序中要排位置的信息
strcpy(xuanshou[i]name,xuanshou[j]name);
xuanshou[i]grade=xuanshou[j]grade;
for(k=0;k<10;k++)
xuanshou[i]a[k]=xuanshou[j]a[k];//将较大的移到当前要排序的位置
strcpy(xuanshou[j]name,tempname);
xuanshou[j]grade=tempgrade;
for(k=0;k<10;k++)
xuanshou[j]a[k]=tempa[k];//将之前排序位置元素移至该处
}
}
void display(int n)//显示输出函数
{
int i;
printf("序号\t姓名\t分数\t\t最公平评委号\t最不公平评委号\n");
for(i=0;i<n;i++)
printf("%d\t%s\t%f\t\t%d\t\t%d\t\t\n",i+1,xuanshou[i]name,xuanshou[i]grade,mostequal(i),leastequal(i));
}
int main()
{
int n;
printf(" ==========青年歌手比赛分数统计==========\n");
printf("注意:输入评委分数的时候请用空格将各分数隔开输入(例如:10 20 30 40Enter)\n\n");
printf("请输入选手个数:");
scanf("%d",&n);
init(n);
paixu(n);
display(n);
}
以上就是关于编写一段C语言程序完成此题: 歌手大奖赛上有10个评委(放在一个数组中)打分,请设计一个通用程序,全部的内容,包括:编写一段C语言程序完成此题: 歌手大奖赛上有10个评委(放在一个数组中)打分,请设计一个通用程序,、利用C语言设计完成如下功能的程序:输入三位评委对一名选手的评分,计算其总分和平均分。、c语言题目:10名评委给一名比赛选手打分。要求用3个函数实现,3个函数的首部已部分给出.等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)