永发信息网

写一函数对输入的一组整数由小到大排序,在main主函数调用该函数实现排序。(输入任意个整数即可输出

答案:3  悬赏:70  手机版
解决时间 2021-03-15 15:30
写一函数对输入的一组整数由小到大排序,在main主函数调用该函数实现排序。(输入任意个整数即可输出
最佳答案
#include
void sort(int a[], int n)
{int i,j,t;
    for(j=0;j        for(i=0;i            if(a[i] > a[i + 1])
            {t=a[i];a[i]=a[i+1];a[i+1]=t;}
}
 
int main()
{ int a[1000];
    int i,n=0;

printf("请输入一组整数,以负数表示输入结束:
"); scanf("%d",&a[0]);
while(a[n]>=0)
scanf("%d",&a[++n]);
sort(a,n);
    for (i=0;i        printf("%d ", a[i]);

    printf("
");getch();
}

追问我在c4droid上报错怎么回事
可能是c4的问题吧

全部回答
重点在于如何结束。
必须约定结束条件。追问随便,比如换行结束加0结束都可以追答#include 
#include 
void int_sort(int *a, int l)
{
    int i, j;
    for(i = 0; i < l-1; i ++)
        for(j = i+1; j < l; j ++)
            if(a[i]>a[j])
            {
                int t = a[i];
                a[i] = a[j];
                a[j] = t;
            }
}
  
int main()
{
    int *a;
    int t = 10;
    int i = 0;
    a = (int*)malloc(sizeof(int)*t);
 
    while(1)
    {
        if(scanf("%d",a+i)!=1)break;
        i++;
        if(t == i)
        {
            t+=10;
            a = (int *)realloc(a, sizeof(int)*t);
        }
    }
    t = i;
    int_sort(a,t);
    for(i = 0; i < t; i ++)
        printf("%d,",a[i]);
    printf(" ");
 
    free(a);
    return 0;
}
在刚才换行结束的基础上,随便改动一下,就是这个输入非法字符结束的了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
假如我是A地车牌 在B地注册的滴滴 滴滴填写资
凡人修仙传小六子是谁
骊山语罢清宵半,夜雨霖铃终不怨。何如薄幸锦
24小时自助售药地址在什么地方,想过去办事
如果想用UC账号登陆阴阳师 要去什么软件下载
用户口簿可以证明家里有几口人吗?
太和住房公积金政策调整了吗
BALIKPAPAN离印尼哪个空港近
谁有win7简易版的激活密钥?
海山医药怎么去啊,有知道地址的么
5分米=( )毫米
康佳42寸8100无线网络连接成功,可为何不能上
怎么分辨人体阴阳,五行
台湾一品牛肉面地址在什么地方,想过去办事
小狗眼睛为什么经常流泪?
推荐资讯
OPPO会员的密码忘记了怎么办????帮帮忙啊
长安cs75多长时间免费维修都有哪些
摩托车离合器打滑会出现哪些现象??
和女朋友睡觉可以增进感情吗?
怎么设置让鼠标左键不松拖动浏览器时 会自动
钓鱼窝料用什么好吗
125踏板车为什么油门加到最大才跑70码?
学校档案里有没有四级成绩
我的荣誉勋章空降神兵玩不了!显示没有prhyx
小明身高1.5米,他要涉水通过一条平均水深1.2
建德市同富汽车修配厂这个地址在什么地方,我
源丰旅馆在什么地方啊,我要过去处理事情
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?