C语言 急!!!

Description输入一组整数,按从小到大顺序排序后输出。------------------------------------------------------... Description
输入一组整数,按从小到大顺序排序后输出。
-----------------------------------------------------------------------------
结合“Append Code”中的代码,编写以下函数:
原型:int get_array(int a[]);
功能:遵循样例格式读取n个输入存放在a[]里,返回值为实际输入的元素个数。
原型:int put_array(int a[], int n);
功能:按格式输出a[]中的前n个元素。
原型:int sort_array(int a[], int n);
功能:把a[]中前n个元素按从小到大排序。
函数的调用格式见“Append Code”。
Input
输入最多不超过N(N<100)个整数,至EOF结束。
Output
在一行中按从小到大排序输出这些整数,两数之间用一个空格分开,行尾有回车。
Sample Input
5 3 2 4 9 8
Sample Output
2 3 4 5 8 9
HINT

“Append Code”中用到的头文件、全局变量或宏的定义应自行补充。

Append Code
append.c,
int main()
{
int array[MAX_SIZE], size;

size = get_array(array);
sort_array(array, size);
put_array(array, size);

return 0;
}
我的代码:
#include <stdio.h>
#define MAX_SIZE 1001
int get_array(int a[])
{
int n=0;
while(scanf("%d",&a)!=EOF)
{
n++;
}
return n;
}
int put_array(int a[],int n)
{
int i;
for(i=0;i<n;i++)
{
if(i==0) printf("%d",a[i]);
else printf(" %d",a[i]);
}
}
int sort_array(int a[], int n)
{
int i,b;
for(i=0;i<n-1;i++)
{
if(a[i]>a[i+1])
{
b=a[i];
a[i]=a[i+1];
a[i+1]=b;
}
}
return a[i];
}
int main()
{
int array[MAX_SIZE], size;

size = get_array(array);
sort_array(array, size);
put_array(array, size);

return 0;
}
哪里错了?
展开
 我来答
百度网友e34107a
2015-11-26 · 超过40用户采纳过TA的回答
知道小有建树答主
回答量:64
采纳率:0%
帮助的人:62.4万
展开全部

输入函数和排序函数都有问题,给你改了下

#include <stdio.h>

#define MAX_SIZE 100

int get_array(int a[])

{

    int n=0,i=0;

    char c;

    while(scanf("%d%c",&a[i],&c))

    {

        n++;

        i++;

        if(c=='\n')

        {

            break;

        }

    }

    return n;

}

void put_array(int a[],int n)

{

    int i;

    for(i=0;i<n;i++)

    {

        if(i==0) printf("%d",a[i]);

        else printf(" %d",a[i]);

    }

}

void sort_array(int a[], int n)

{

    int i,j,b;

    for(i=0;i<n;i++)

    {

        for(j=0;j<i;j++)

        {

            if(a[i]<a[j])

            {

                b=a[i];

                a[i]=a[j];

                a[j]=b;

            }

        }

    }

}

int main()

{

    int array[MAX_SIZE], size;

    size = get_array(array);

    if(size>=100)

    {

        printf("too many numbers");

        return 0;

    }

    sort_array(array, size);

    put_array(array, size);

    return 0;

}
追问
超时了怎么办
一变班爱麻啊堡0J
高粉答主

2020-01-13 · 醉心答题,欢迎关注
知道答主
回答量:11.4万
采纳率:2%
帮助的人:5673万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式