當前位置:首頁 » 編程語言 » 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;
}

熱點內容
pythonid3 發布:2025-07-17 13:31:50 瀏覽:325
文件被加密如何破解 發布:2025-07-17 13:31:50 瀏覽:29
網路編程經驗 發布:2025-07-17 13:13:20 瀏覽:67
學編程小孩 發布:2025-07-17 13:13:16 瀏覽:997
關電源能釋放緩存嗎 發布:2025-07-17 13:07:14 瀏覽:932
哪個moba配置要求較低 發布:2025-07-17 13:05:34 瀏覽:799
scratch編程視頻教學 發布:2025-07-17 12:50:36 瀏覽:636
linuxh264 發布:2025-07-17 12:20:12 瀏覽:481
主題密碼怎麼改 發布:2025-07-17 12:18:08 瀏覽:605
南京編譯中心招聘 發布:2025-07-17 12:18:08 瀏覽:962