當前位置:編程學習大全網 - 遊戲軟體 - C語言程序設計 題目: 編寫頒獎程序: 在N個選手中評出壹等獎1名,二等獎2名,三等獎3名,輸入得獎情況。

C語言程序設計 題目: 編寫頒獎程序: 在N個選手中評出壹等獎1名,二等獎2名,三等獎3名,輸入得獎情況。

#include <stdio.h>

#include <stdlib.h>

void sort(float *a, int n)

{

int i, j;

float t;

for(i=1; i<n; ++i)

for(j=n-1; j>=i; --j)

if(a[j-1]<a[j])

{

t=a[j-1];

a[j-1]=a[j];

a[j]=t;

}

}

float average(float *a,int n)

{

float av;

int i;

sort(a,n);

for(i=1; i<n-1; i++)av+=a[i];

av/=n-2;

return av;

}

int main()

{

int i,j,n,m;

char ch;

float *a,*b,*c;

float s1,s2,s3;

printf("輸入選手人數:");

while(scanf("%d%c",&n,&ch)!=1)

{

if(ch=='\n')break;

printf("input error\n");

fflush(stdin);

}

a=(float*)malloc(n*sizeof(float));

c=(float*)malloc(n*sizeof(float));

if(!a||!c)

{

printf("malloc error");

exit(0);

}

printf("輸入評委人數:");

while(scanf("%d%c",&m,&ch)!=1)

{

if(ch=='\n')break;

printf("input error\n");

fflush(stdin);

}

b=(float*)malloc(m*sizeof(float));

if(!b)

{

printf("malloc error");

exit(0);

}

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

{

printf("輸入第%d人成績\n",i+1);

printf("輸入%d個成績:",m);

for(j=0; j<m; j++)

{

while(scanf("%f%c",&b[j],&ch)!=1)

{

if(ch=='\n'||ch==' ')break;

printf("輸入錯誤,重新出入第%d個成績\n",j+1);

fflush(stdin);

}

}

a[i]=c[i]=average(b,m);

printf("平均成績:%.2f\n",a[i]);

}

for(i=0; i<n; i++)printf("%.2f ",a[i]);

sort(a,n);

s1=a[0];

printf("\n第1名\n");

for(j=0; j<n; j++)

{

if(c[j]==s1)printf("%d ",j+1);

}

for(i=1; i<n; i++)if(a[i]!=s1)break;

if(i<n)

{

s2=a[i];

printf("\n第2名\n");

for(j=0; j<n; j++)

{

if(c[j]==s2)printf("%d ",j+1);

}

for(i++; i<n; i++)if(a[i]!=s2)break;

if(i<n)

{

s3=a[i];

printf("\n第3名\n");

for(j=0; j<n; j++)

{

if(c[j]==s3)printf("%d ",j+1);

}

}

}

return 0;

}

  • 上一篇:推薦幾部好看的電視劇或電影
  • 下一篇:南陵縣2022年壹季水稻高溫熱害保險什麽時候發放
  • copyright 2024編程學習大全網