为了账号安全,请及时绑定邮箱和手机立即绑定

如下代码,输入一批整数,最多100个,当输入0时,结束输入

如下代码,输入一批整数,最多100个,当输入0时,结束输入

C
倚天杖 2023-03-31 13:09:11
用冒泡法将这批整数按从小到大的顺序排列后输出,要求定义三个函数分别进行数组输入、输出和排序。#include<stdio.h>#define N 100void inputarr (int *p,int *n);void bubblesort(int *arr, int length);void outputarr (int *p,int n);void swap(int *a,int *b);int main(){int a[N];int i,n;inputarr (a,&n);bubblesort(a, n); outputarr (a, n);return 0;}
查看完整描述

2 回答

?
大话西游666

TA贡献1817条经验 获得超14个赞

#include <stdio.h>

#define N 100

void inputarr(int* p, int* n);

void bubblesort(int* arr, int length);

void outputarr(int* p, int n);

void swap(int* a, int* b);


int main()

{

    int a[N];

    int i, n;

    inputarr(a, &n);

    bubblesort(a, n);

    outputarr(a, n);

    return 0;

}


void inputarr(int* p, int* n)

{

    int t;

    for(*n=0;scanf("%d",&t)&&t!=0;(*n)++)

        *p++=t;

}


void bubblesort(int* arr, int length)

{

    int i,j;

    for(i=0;i<length-1;++i)

        for(j=0;j<length-i-1;++j)

            if(arr[j]>arr[j+1])

                swap(arr+j,arr+j+1);


}


void outputarr(int* p, int n)

{

    int i;

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

        printf("%d\n",*p++);

}


void swap(int* a, int* b)

{

    int t;

    t=*a;

    *a=*b;

    *b=t;

}

 


查看完整回答
反对 回复 2023-04-03
?
慕的地6264312

TA贡献1817条经验 获得超6个赞

将第一个学生的信息放入一个结构数组a,将另一个学生的信息放入另一个结构数组b,定义一个结构数组c,c=a;a=b;b=c;用printf输出相关信息即可

查看完整回答
反对 回复 2023-04-03
  • 2 回答
  • 0 关注
  • 235 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信