當前位置:首頁 » 編程語言 » 評委打分c語言

評委打分c語言

發布時間: 2025-07-01 12:10:05

c語言題:十個評委給歌手打分,去掉一個最高分與最低分求最後得分

#include<stdio.h>
#include<conio.h>

#defineARR_LEN255/*數組長度上限*/
#defineelemTypefloat/*元素類型*/

/*冒泡排序*/
/*1.從當前元素起,向後依次比較每一對相鄰元素,若逆序則交換*/
/*2.對所有元素均重復以上步驟,直至最後一個元素*/
/*elemTypearr[]:排序目標數組;intlen:元素個數*/
voidbubbleSort(elemTypearr[],intlen){
elemTypetemp;
inti,j;
for(i=0;i<len-1;i++)/*外循環為排序趟數,len個數進行len-1趟*/
for(j=0;j<len-1-i;j++){/*內循環為每趟比較的次數,第i趟比較len-i次*/
if(arr[j]>arr[j+1]){/*相鄰元素比較,若逆序則交換(升序為左大於右,逆序反之)*/
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}

/*輸入數組*/
/*arr[]:輸入目標數組;len:元素個數*/
voidinputArray(elemTypearr[],intlen){
inti;
for(i=0;i<len;i++)
scanf("%f",&arr[i]);
putchar(' ');
}

/*列印數組內容*/
/*arr[]:列印目標數組;len:元素個數*/
voidprintArray(elemTypearr[],intlen){
inti;
for(i=0;i<len;i++)
printf("%.1f ",arr[i]);
putchar(' ');
}

/*去掉一個最高分,去掉一個最低分,然後求平均分*/
/*arr[]:目標數組;len:元素個數*/
voidcalcArray(elemTypearr[],intlen,elemType*max,elemType*min,float*avg){
inti;
elemTypesum;
bubbleSort(arr,len);/*對數組排序,此後首、尾兩元素即待被去掉的一個最高分、一個最低分*/
*max=arr[len-2];
*min=arr[1];
sum=*avg=0;
for(i=1;i<len-1;i++)
sum+=arr[i];
*avg=sum/(len-2);
}

intmain(void){
//elemTypescore[ARR_LEN];/*成績數組*/
elemTypescore[ARR_LEN]={95.0,88.0,72.0,96.0,74.0};
intlen=5;/*5名評委*/
elemTypemax,min,avg;/*最高分、最低分、平均分*/
inti;

//printf("輸入%d名評委打分: ",len);
//inputArray(score,len);

printf("%d名評委打分: ",len);
printArray(score,len);
calcArray(score,len,&max,&min,&avg);
printf("去掉一個最高分: %.1f分 去掉一個最低分: %.1f分 此名選手最終得分: %.1f分",max,min,avg);

getch();/*屏幕暫留*/
return0;
}

⑵ 用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;
}

⑶ 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);

}

(3)評委打分c語言擴展閱讀:

for循環注意事項

1、for循環中的變數可以是一個也可以是多個,不要局限於一個變數處理到底,那樣有時會很單調,當程序適合把多個變數組成循環時,用多個for語句來表示就是有些浪費;

2、for循環中語句可以為語句體, 語句體外加大括弧"{}"將參加循環的語句括起來。for循環的三個表鋒衫達式都是逗號表達式,這樣來說,其實每個分號表達式可以由幾個逗號表達式構成,中間用",」隔開,最後以「;」結束。

3、for循環襲肢中的"單次表達式"、"條件表達式"和"循環體語句"都是選擇項, 即可以預設成只剩下「;」的空語句, ";"不能預設的原因是編譯格式如此,預設了編譯器不認識而會報錯。

網路-for循環

⑷ C語言編程題:歌唱比賽十個評委打分,請求出其中的最高分和最低分並進行輸出(要求從鍵盤接收數據)。

#include<stdio.h>
intmain(void)
{
floata[10],temp;
printf("請輸入分數: ");
inti,j;
for(i=0;i<10;i++)
{
scanf("%f",&a[i]);
}
for(i=0;i<9;i++)
{
for(j=0;j<9-i;j++)
{
if(a[j]<a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}

printf("最高分:%.2f 最低分:%.2f ",a[0],a[9]);
return0;
}

熱點內容
解壓玩具怎麼做只用水就可以做 發布:2025-07-01 20:52:56 瀏覽:160
解壓放鬆室 發布:2025-07-01 20:52:43 瀏覽:124
存儲器壞了 發布:2025-07-01 20:46:11 瀏覽:510
iphone怎麼設鎖屏密碼 發布:2025-07-01 20:46:10 瀏覽:620
伺服器如何處理千萬請求 發布:2025-07-01 20:30:53 瀏覽:332
plsqldeveloperjob 發布:2025-07-01 20:29:59 瀏覽:803
剪切文件用什麼配置 發布:2025-07-01 20:23:07 瀏覽:42
酷睿2020主要看哪些配置 發布:2025-07-01 20:23:06 瀏覽:259
sql保存文件 發布:2025-07-01 20:18:52 瀏覽:802
安卓做的登錄頁面怎麼運行 發布:2025-07-01 20:18:48 瀏覽:813