当前位置:首页 » 编程语言 » c语言歌星大奖赛

c语言歌星大奖赛

发布时间: 2023-05-14 03:16:36

❶ 求c语言歌星大奖赛问题

#include <stdio.h>
#define n 10
main
{ float a[n],max,min,s=0,ave;
int i;
for(i=0;i<n;i++)
scanf("%f",&a[i]);
max=min=a[0];
for(i=0;i<n;i++)
{ s+=a[i];
if(max>a[i]) max=a[i];
else if(min<a[i]) min=a[i];
}
ave=(s-max-min)/8;
printf("ave=%f",ave);
}
后面的程序毁瞎隐,需要输出什么,是评委的名字?还是分数呢?
最公平的:在除去后的8个人中选分数最接近的,可用一个数组把差值保存起来,最小的差值对 应的那个裁判纤厅就是最公平的!
最不公平的:在除去的那两人里面选差值最大的!
也可以用 表达式1?表达式2:表达式3来做。神仔

❷ C语言,就是青年歌手参加歌曲大奖赛,有10个评委进行打分,试编程求这位选手的平均得分。

i应该是整形,所以银禅腔应该将其定义为int i。修改后代码为:

#include <stdio.h>

int main()

{

float x[10],avg,max,min,sum,a;

for (int i=0;i<10;i++)

{

scanf(" %f",&x[10]);

if( i==0)

{

max=x[0];

min=x[0];

}

if (x[i]>max) max=x[i];

if (x[i]<min) min=x[i];

sum+=x[i];

}

a=(sum-max-min)/8;

printf("%.2f",a);

}

(2)c语言歌星大奖赛扩展阅读:

for循环注意事项

1、for循环中的变量可以是一个也可以是多个,不要局限于一个变量处理到底,那样有时会很单调,当程序适合把多个变量组成循环时,用多个for语句来表示就是有些浪费;

2、for循环中语句可以为语句体, 语句体外加大括号"{}"将参加循环的语句括起来。for循环的三个表锋衫达式都是逗号表达式,这样来说,其实每个分号表达式可以由几个逗号表达式构成,中间用",”隔开,最后以“;”结束。

3、for循环袭肢中的"单次表达式"、"条件表达式"和"循环体语句"都是选择项, 即可以缺省成只剩下“;”的空语句, ";"不能缺省的原因是编译格式如此,缺省了编译器不认识而会报错。

网络-for循环

❸ 帮忙写下这个C语言程序歌星大奖赛

#include<stdio.h> void score(int a[]) { int i; printf("put in the score between 1 and 100"渣指); for(i=0;i<10;i++) { scanf("%d",&a[i]); if(a[i]<1||a[i]>100) { printf("put again the score between 1 and 100"); scanf("%d",&a[i]); } } } void main() { int a[10],i,max,min,sum=0,average; score(a); max=min=a[0]; for(i=0;i<10;i++) { if(a[i]>max) max=a[i]; if(a[i]<min) min=a[i]; } for(i=0;i<10;i++) sum=sum+a[i]; sum=sum-max-min; average=sum/8; printf("the average score is %d",average); } 我自己写的,绝对是正确的埋梁孙,弯链我已经运行过了!
求采纳

❹ 编写一段C语言程序完成此题: 歌手大奖赛上有10个评委(放在一个数组中)打分,请设计一个通用程序,

#include<stdio.h>
#include<conio.h>
#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/=8.0;
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;
}

❺ c语言,青年歌手大奖赛,评委打分

先不说你的zongshu没有初始化,谨氏手输入就写错了。C语言输入数组只能一个一个输入。而且排序算法需要的是一个已经有数据的数组。

照你这个代码的逻辑是每输入一个数据就进行一趟排序?而且看看你zongshu += score[i-1]; 这一句,第一次循环时i为0,那此时i-1为多祥嫌少?最后计算平均值时(zongshu - score[0] - score[n-1])/n,人数还是n吗?而且核中计算时你的值全为int型,那么中间计算过程也并不会以浮点数的方式进行。

❻ C语言:歌星大奖赛中,有十个评委为参赛的选手打分,分数为1-100分,选手最后得分为去掉一个最高分

代码如下

#include <iostream>

using namespace std;

int main()

{int a[10],f[10],i,k,m,n,b,c,y,p,q,d,average,h,g;

cout<<"输入十位评委按顺序的枯森瞎打分:";

for(i=0;i<10;i++)

{cin>>a[i];

}

for(b=0;b<10;b++)

{while(a[b]>100||a[b]<0)

{cout<<"选手得分超出规定范围,请第"<<b+1<<"位评委重新打分!"<<endl;

cin>>a[b];

}

}

m=a[0];n=a[0];

for(k=0,c=0;k<9;k++)

{

if(m<=a[k+1]) m=a[k+1];

if(n>=a[k+1])没空 n=a[k+1];

c=c+a[k];

}

c=c+a[9];

y=c-m-n;


average=y/8;

for(p=0;p<10;p++)

{f[p]=a[p]-average;

if(f[p]<0) {f[p]=-f[p];}

}

q=f[0];d=f[0];

for(k=0,h=1;k<9;k++)

{

if(q<=f[k+1]) q=f[k+1] ,h=k+2;

if(d>=f[k+1]) d=f[k+1],g=k+2;

}

cout<<"选手的平均分是"<<average<<endl;

cout<<"最公平评委是第"<<g<<"位评春凳委。"<<endl;

cout<<"最不公平评委是第"<<h<<"位评委。"<<endl;

return 0;

}

C语言代码技巧

1、使用合适的条件语句

除代码的可读性之外,程序的执行时间还主要依赖于做决定时所选择的条件结构类型。许多硬件工程师都熟悉简单的if语句的使用。然而,有时工程师可能没有意识到,如果第一个条件不正确,还可以使用else或else if语句。

2、用If/Else替代只用If

If/else if/else语句可能并不永远适用。如果需要检查若干个可能的条件,switch语句可能更合适。这样,处理器可以评估语句,然后从一个答案列表中选择下一步动作,而不用连续地评估一堆条件。

❼ 用C语言编程:歌手大奖赛有10名评委打分,去掉一个最高分、去掉一个最低分,求选手的平均分。

#include<stdio.h>
int s_min(int a[]);
int s_max(int a[]);
main()
{
float a[10],min,max,s=0;//定义一个数组用来存放10个评委的分数。定义的min,max,是用来超查找最高分和最低分的。
int i;
printf("请输入10个评委的分数:\n");
for(i=0;i<10;i++)
scanf("%f",&a[i]);
min=s_min(a);
max=s_max(a);//调用函数找出低分和最高分。
printf("去掉一个最高分%g,去掉一个最低分%g\n",max,min);
for(i=0;i<10;i++)
if(a[i]!=min&&a[i]!=max) //把最高分和最低分不计算进去
s=s+a[i];
printf("最后的得分是%g\n",s/8);

}
float s_min(float a[])
{
int i;
float min=a[0];
for(i=0;i<10;i++)
if(a[i]<min)
min=a[i];
return min;
}
float s_max(float a[])
{
int i;
float max=a[0];
for(i=0;i<10;i++)
if(a[i]>max)
max=a[i];
return max;
}

热点内容
idlj编译idl文件 发布:2025-07-18 02:14:47 浏览:351
国外代理服务器ip地址和端口 发布:2025-07-18 02:12:44 浏览:719
将个人电脑改云桌面服务器 发布:2025-07-18 02:12:31 浏览:758
加密机进程 发布:2025-07-18 02:08:34 浏览:241
光遇源码 发布:2025-07-18 01:36:52 浏览:609
一克拉算法 发布:2025-07-18 01:36:16 浏览:881
sql的标准 发布:2025-07-18 01:31:19 浏览:418
za解压怎么用 发布:2025-07-18 01:15:43 浏览:39
勒索加密文件恢复 发布:2025-07-18 01:15:37 浏览:159
更换云服务器厂商需要迁移域名 发布:2025-07-18 01:14:54 浏览:906