① 用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