C語言程序:
#include?<stdio.h>#define?MAX?100
/*?顯示菜單?*/
void?ShowMenu()
{
printf("\n");
printf("||===================================||\n");
printf("||-----------------------------------||\n");
printf("||-------學生成績查詢系統------------||\n");
printf("||-----------------------------------||\n");
printf("||-----------------------------------||\n");
printf("||-----------------------------------||\n");
printf("||===================================||\n");
printf("\n\n\n");
printf("|----------------------------------|\n");
printf("|----------請輸入(0-6)-----------|\n");
printf("|?1.?輸入成績------------|\n");
printf("|?2.?顯示成績------------|\n");
printf("|?3.?查詢平均分----------|\n");
printf("|?4.?查詢最高分----------|\n");
printf("|?5.?成績排名------------|\n");
printf("|?6.?退出----------------|\n");
printf("|----------------------------------|請輸入0-6?:?");
}
/*?排序?*/
void?Sort(int?arr[],?int?n)
{
int?i,?j,?k;
int?temp;
for(i=0;?i<n-1;?i++)
{
k?=?i;
for(j=i+1;?j<n;?j++)
{
if(arr[j]?>?arr[k])
{
k?=?j;
}
}
if(k?!=?i)
{
temp?=?arr[k];
arr[k]?=?arr[i];
arr[i]?=?temp;
}
}
}
void?main(){
int?choice;
int?scores[MAX]?=?{80,?78}; /*?存儲成績?*/
int?n?=?2; /*?人數?*/
int?back[MAX];
int?max; /*?最高分?*/
double?avg; /*?平均分?*/
int?i;
while(1)
{
ShowMenu();
scanf("%d",?&choice);
switch(choice)
{
case?1: /*?輸入成績?*/
{
printf("請輸入新成績:");
scanf("%d",?&scores[n]);
n++;
break;
}
case?2: /*?顯示成績?*/
{
printf("成績列表:\n");
for(i=0;?i<n;?i++)
{
printf("%4d",?scores[i]);
}
printf("\n");
break;
}
case?3: /*?查詢平均分?*/
{
avg?=?0;
for(i=0;?i<n;?i++)
{
avg?+=?scores[i];
}
avg?/=?n;
printf("平均分:%.2lf\n",?avg);
break;
}
case?4: /*?查詢最高分?*/
{
max?=?scores[0];
for(i=1;?i<n;?i++)
{
if(scores[i]?>?max)
{
max?=?scores[i];
}
}
avg?/=?n;
printf("最高分:%d\n",?max);
break;
}
case?5: /*?成績排名?*/
{
for(i=0;?i<n;?i++)
{
back[i]?=?scores[i];
}
Sort(back,?n);
printf("成績排名:\n");
printf("%8s%8s\n",?"名次",?"成績");
for(i=0;?i<n;?i++)
{
printf("%8d%8d\n",?i+1,?back[i]);
}
printf("\n");
break;
}
case?6: /*?退出?*/
{
return;
}
default: /*?繼續?*/
{
break;
}
}
}
}
運行測試: