C语言,新手练习题,求大神指教数组应用的
使用字符数组和实型数组分别存储学生姓名跟成绩,并通过对学生成绩的排序,按照名词输出字符数组中对应的学生姓名。我自己编的如下
#include<stdio.h> /*a[5]存储学生姓名,b[5]存储学生成绩,e[1]为中间量*/
int main()
{
char*a[5];
char*e[1];
int b[5];
int c,d,i,j;
for(i=0;i<5;i++)
{printf("请输入学生姓名:\n");
scanf("%s\n",&a[i]);
}
for(i=0;i<5;i++)
{
printf("请输入对应学生的成绩:\n");
printf("%s:%d\n",a[i],b[i]);
scanf("%d\n",&b[i]);
}
for(i=0;i<4;i++)
{
c=b[i];e[0]=a[i];d=i;
for(j=i+1;j<5;j++)
{
if(b[j]>c)
{
c=b[j];
d=j;
e[0]=a[j];
}
b[d]=b[i];
b[i]=c;
a[d]=a[i];
a[i]=e[0];
}
}
for(i=0;i<5;i++)
{
printf("%s\n",a[i]);
}
return 0;
}