用冒泡法将一个数组排成升序的函数-
编写子函数:(1)用冒泡法将一个数组排成升序的函数---SUB1;(2)在升序数组中插入一个数,并且保持该数组仍为升序数组的函数---SUB2。主函数:①输入任意10个正...
编写子函数:(1)用冒泡法将一个数组排成升序的函数---SUB1;(2)在升序数组中插入一个数,并且保持该数组仍为升序数组的函数---SUB2。
主函数:①输入任意10个正整数给数组;②调用SUB1对数组进行排序;③从键盘输入一个正整数,调用SUB2将其插入该数组。 展开
主函数:①输入任意10个正整数给数组;②调用SUB1对数组进行排序;③从键盘输入一个正整数,调用SUB2将其插入该数组。 展开
2个回答
展开全部
/*
输入10 个数(空格隔开) : 36 45 89 87 94 16 34 58 62 44
16 34 36 44 45 58 62 87 89 94
输入待插入的数 : 100
16 34 36 44 45 58 62 87 89 94 100
Press any key to continue
*/
#include <stdio.h>
void sub1(int a[], int n) {
int i,j,t;
for(i = 0; i < n - 1; ++i) {
for(j = i + 1; j < n; ++j) {
if(a[i] > a[j]) {
t = a[i];
a[i] = a[j];
a[j] = t;
}
}
}
}
void sub2(int a[], int n, int num) {
int i,j,flag = 1;
for(i = 0; i < n; ++i) {
if(a[i] > num) {
flag = 0;
for(j = n; j > i; --j)
a[j] = a[j - 1];
a[i] = num;
break;
}
}
a[n] = num;
}
void show(int a[], int n) {
int i;
for(i = 0; i < n; ++i)
printf("%d ",a[i]);
printf("\n");
}
int main() {
int a[11],i,num;
printf("输入10 个数(空格隔开) : ");
for(i = 0; i < 10; ++i) scanf("%d",&a[i]);
sub1(a,10);
show(a,10);
printf("输入待插入的数 : ");
scanf("%d",&num);
sub2(a,10,num);
show(a,11);
return 0;
}
展开全部
#include<stdio.h>
void SUB1(int a[],int n){
int i=0,tem,k;
for(i=0;i<n;i++)
for(k=i+1;k<n;k++)
if(a[k]<a[i]){
tem=a[k];
a[k]=a[i];
a[i]=tem;
}
return ;
}
void SUB2(int a[],int n){
a[10]=n;
return ;
}
int main(){
int i,a[10],n;
printf("请输入10个整数\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
SUB1(a,10);
printf("排序之后的序列为:");
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
printf("请输入要插入的数字\n");
scanf("%d",&n);
SUB2(a,n);
SUB1(a,11);
printf("排序之后的序列为:");
for(i=0;i<11;i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}
追问
可不可以用java代码编写一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询