题目:根据进行学生成绩排名
1.在函数sort(int a[10])中进行10个学生成绩从高到低排名
2.改进第一步的函数sort(int a[],int n),进行n个学生成绩从高到低排名
3.改进第二步的函数为sort(int a[],int n,char style),将n个学生成绩从高到低排名,排名方式根据sort()函数的style参数进行,如style
为‘a’按升序排,style为‘d’按降序排。
(a:ascending升, d:descending降)
要求,编写完整的程序,并划出简单流程图
谢谢大家帮忙啊,高分求解,答案正确了加分!
參考答案:1.
sort(int a[])
{
int i,j,temp;
for(i=0;i<10;i++)/*冒泡算法*/
for(j=0;j<10;j++)
if(a[j]<a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
2.
sort(int a[],int n)
{
int i,j,temp;
for(i=0;i<n;i++)/*冒泡算法*/
for(j=0;j<n;j++)
if(a[j]<a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
3.
sort(int a[],int n,char style)
{
int i,j,temp;
if(style=='a')
{
for(i=0;i<n;i++)/*冒泡算法*/
for(j=0;j<n;j++)
if(a[j]<a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
if(style=='b')
{
for(i=0;i<n;i++)/*冒泡算法*/
for(j=0;j<n;j++)
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
流程图就不画了,你看程序就知道了,太简单了!