① 用C語言編寫一個歌唱比賽成績統計程序
#include "stdio.h"
void main()
{
int i,Max=-1,Min=999,Score,x,y;
double Sum=0,a[10],Max2=-1,Min2=999,z;
printf("練習30題_6:歌星比賽評分:\n");
for(i=1;i<=10;i++)
{
printf("第%d位評委打分:\n",i);
scanf("%d",&Score);
a[i]=Score;
Sum+=Score;
if(Score>Max)Max=Score;
if(Score<Min)Min=Score;
}
printf("%s%d\n%s%d\n%s%f\n","去掉一個最高分",Max,"去掉一個最低分",Min,"得出的分數為:",(Sum-Min-Max)/8);
z=(Sum-Min-Max)/8;
for(i=1;i<=10;i++)
{
if(a[i]-z>0)//等於0就是差距最小的了所以不用在max上
if(a[i]-z>Max2)
{
Max2=a[i]-z;
x=i;
}
else if (z-a[i]>0)
if(z-a[i]>Max2)
{
Max2=z-a[i];
x=i;
}
if(a[i]-z>=0)
if(a[i]-z<Min2)
{
Min2=a[i]-z;
y=i;
}
else if (z-a[i]>=0)
if(z-a[i]<Min2)
{
Min2=z-a[i];
y=i;
}
}
printf("思維延伸:最公平的裁判是:第%d位。\n最不公平的裁判是:第%d位。\n",y,x);//以上代碼沒寫並列情況
}
② 用C語言統計歌唱比賽成績。
#include<stdio.h>
#defineN7
#defineM10
structSing
{
charname[20];
intscore[10];
floataver;
}sing[10];
voidmywrite()
{
inti=0,j=0,max=0,min,sum;
for(i=0;i<M;i++)
{min=0;
max=0;
sum=0;
printf("請輸入第%d個選手的姓名 ",i+1);
scanf("%s",sing[i].name);
printf("請依次輸入成績: ");
scanf("%d",&sing[i].score[0]);
min=sing[i].score[0];
sum=min;
for(j=1;j<N;j++)
{
scanf("%d",&sing[i].score[j]);
sum=sum+sing[i].score[j];
if(max<sing[i].score[j])
{
max=sing[i].score[j];
}
if(min>sing[i].score[j])
min=sing[i].score[j];
}
sing[i].aver=(sum-max-min)/5.0;
}
}
voidsort()
{
inti,j;
structSings;
for(i=0;i<M;i++)
for(j=0;j<M-1-i;j++)
{
if(sing[j].aver<sing[j+1].aver)
{
s=sing[j];
sing[j]=sing[j+1];
sing[j+1]=s;
}
}
}
intmain()
{
mywrite();
sort();
for(inti=0;i<M;i++)
{
printf("%-15s%f ",sing[i].name,sing[i].aver);
}
return0;
}
③ C語言編程題2道!急!!!!!!!
1:
#include<stdio.h>
int main()
{
int a[10];
int i;
int max = 0;
int min = 100;
int maxi=0;
int mini =0;
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
if(a[i]<min)
{
min = a[i];
mini = i;
}
if(a[i]>max)
{
max = a[i];
maxi = i;
}
}
int sum =0;
for(i=0;i<10;i++)
{
if(i != mini && i != maxi)
{
sum +=a[i];
}
}
float ave = sum*1.0/8;
printf("%f",ave);
return 0;
}
2:
#include<stdio.h>
int main()
{
char sstr[100];
scanf("%s",sstr);
int count =0;
int i=0;
while(sstr[i] != '\0')
{
if(sstr[i] == ',')
{
count++;
}
i++;
}
printf("%d",count+1); //+1是計算最後一個逗號的後的單詞。
return 0;
}
運行效果:
qw,er,ty,ty
4
④ C++歌唱大賽選手成績計算
#defineNUM10
voidmain()
{
//變數初始化
intmax=-1;
intmin=999;
intsum=0;
//循環
cout<<"請輸入10個評委的打分:";
for(inti=0;i<NUM;i++)
{
intx;
cin>>x;
//選擇
if(x>max)
max=x;
if(x<min)
min=x;
sum+=x;
}
sum=sum-max-min;//去掉最高分和最低分
cout<<"該選手的最後得分:"<<(float)sum/(NUM-2)<<endl;
}
//sum必須初始化,否則可能會是一個隨機的值,具體跟編譯器有關,有的會設為0