12.1

#include <stdio.h>
#include<string.h>
#include <stdlib.h>
#define N 5
#define M 3

int login()
{
	char secretCode[10],name[8];
    int number=3;
    printf("\n\n");
    printf("\t\t\t******欢迎使用青歌赛评分系统******\n");
    printf("\n\n");
    printf("请输入用户名");
    scanf("%s",name);
    printf("请输入密码 :");
    scanf("%s",secretCode);
    while(number>0)
    {
    	if(strcmp(secretCode,"789456123")==0&&strcmp(name,"王晓华")==0)break;
    	else
    	{
    		number--;
    		if(number<=0)break;
    		printf("\n\t\t\t您还有%d次机会\n",number);
    		printf("请输入用户名");
    		scanf("%s",name);
    		printf("请输入密码:");
    		scanf("%s",secretCode);
    	}
    }
    if(number>0) return 1;
    else printf("\t\t\t很遗憾,欢迎改日使用\n");
    return 0;
}
int main(void)
{
	char name[5][8],n[8];
	float a[N][M],sum,t,max,min,avg[N];
	int i,j;
    setvbuf(stdout, NULL, _IONBF, 0);
	if(login()==0)return 1;
	printf("\t欢迎使用青歌赛评分系统\n");
	getchar();
	system("cls");
	for(i=0;i<M;i++)
	{
		sum=0;
		min=120;
		max=0;
		printf("请输入第%d位选手的姓名:",i+1);
		scanf("%s",name[i]);
		for(j=0;j<N;j++)
		{
			printf("请输入第%d位评委的打分:",j+1);
			scanf("%f",&a[i][j]);
			sum+=a[i][j];
			if(a[i][j]<min) min=a[i][j];
			if(a[i][j]>max) max=a[i][j];
		}
	avg[i]=(sum-max-min)/3;
	printf("第%d位选手%s的最终成绩为%.2f\n",i+1,name[i],avg[i]);
	system("pause");
	system("cls");
	}
		for(i=0;i<N-1;i++)
			for(j=i+1;j<N;j++)
				if(avg[j]>avg[i])
			{
				t=avg[j];
				avg[j]=avg[i];
				avg[i]=t;
				strcpy(n,name[j]);
				strcpy(name[j],name[i]);
				strcpy(name[i],n);
			}
			printf("名次     姓名    分数\n");
		printf("第%d位选手的最终成绩为%.2f\n",i+1,avg[i]);
	return EXIT_SUCCESS;
}

  

posted @ 2015-12-01 18:30  小黑三1020  阅读(96)  评论(0)    收藏  举报