要求在主函数定义一个长度为M的一维数组。 调用子函数实现:成绩输入、排序、输出数组的值
要求在主函数定义一个长度为M的一维数组。在主函数中按照顺序分别调用子函数实现:成绩输入、排序、输出数组的值。(使用函数地址传递)...
要求在主函数定义一个长度为M的一维数组。
在主函数中按照顺序分别调用子函数实现:成绩输入、排序、输出数组的值。(使用函数地址传递) 展开
在主函数中按照顺序分别调用子函数实现:成绩输入、排序、输出数组的值。(使用函数地址传递) 展开
2个回答
展开全部
#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);
}
#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);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果你会指针这个你肯定会。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询