已经对程序进行了修改,是c语言来写的,并且调试运行通过,没有问题!
一个简单的排序的小例子,程序说明和代码如下所示,仅供参考
程序说明:
(1)调用自定义init函数输入N个元素的整型数据
(2)调用自定义sout函数对生成的N个元素进行排序
(3)调用自定义insert函数给原有的数组中插入一个新的数字
(4)调用自定义hprint函数输出查看数组各个元素值
如上所述,该小程序中包括主函数main和自定义的4个函数,共5个函数有要操作包括:输入,排序,插入,输出
#include <stdio.h>
#define N 10 //宏定义,如果没有讲到的话,可以将此句去掉,将主函数main中有的N的地方全部改为10即可
void main(){
void init(int a[],int n);//自动输入函数
void sort(int a[],int n);//排序
void hprint(int a[],int n);//输出
void insert(int a[],int &n,int num);//插入新元素
int a[20];
int n=N,num;
init(a,n);
sort(a,n);
printf("排序后的整数序列为:");
hprint(a,n);
printf("请输入要插入的整数: ");
scanf("%d",&num);
insert(a,n,num);
printf("\n\n插入新数据后的整数序列为:");
hprint(a,n);
}
void hprint(int a[],int n){//输出查看函数
int i;
for(i=0;i<n;i++){
printf("%d ",a[i]);
}
printf("\n\n");
}
void init(int a[],int n){//初始化,输入n个整数元素,以空格或回车区分开
int i;
printf("请输入%d个整数:\n\n",n);
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
printf("\n\n");
}
void sort(int a[],int n){//排序部分
int i,j,hlwei;
for(i=0;i<n;i++)
for(j=i+1;j<n;j++)
if(a[i]>a[j]){
hlwei=a[i];
a[i]=a[j];
a[j]=hlwei;
}
}
void insert(int a[],int &n,int num){//插入一个新的数据
for(int i=0;i<n;i++){
if(num<=a[i]){
for(int j=n;j>=i;j--)
a[j+1]=a[j];
a[i]=num;
break;
}
}
n++;
}
希望对你有帮助,呵呵!
温馨提示:答案为网友推荐,仅供参考