要求在主函数定义一个长度为M的一维数组。 调用子函数实现:成绩输入、排序、输出数组的值

要求在主函数定义一个长度为M的一维数组。
在主函数中按照顺序分别调用子函数实现:成绩输入、排序、输出数组的值。(使用函数地址传递)

第1个回答  2011-05-20
#include<stdio.h>
#define M 5
void input(float* a,int n)
{
int i;
printf("请输入%d个成绩:\n",n);
for(i=0;i<n;i++)
scanf("%f",&a[i]);
}
void ssort(float* a,int n)
{
float tmp;
int i,j,k;
for(i=0;i<n;i++)
{
k=i;
for(j=i+1;j<n;j++)
{
if(a[k]<a[j])
k=j;
}
tmp=a[i];a[i]=a[k];a[k]=tmp;
}
}
void showscore(float* a,int n)
{
int i;
for(i=0;i<n;i++)
printf("%.1f ",a[i]);
printf("\n");
}
void main()
{
float a[M];
input(a,M);
showscore(a,M);
ssort(a,M);
showscore(a,M);
}本回答被提问者采纳
第2个回答  2011-05-20
如果你会指针这个你肯定会。
相似回答