编程论坛
注册
登录
编程论坛
→
C语言论坛
求解c语言冒泡排序
MangoQvQ
发布于 2021-11-14 23:09, 1369 次点击
对一个无序数组int a[N]进行降序排列,输出排列后数组,并求出该数组最大值与最小值;在此基础上向该排列后数组插入一个正整数x,要求插入后的数组仍然是有序的。
2 回复
#2
baolis
2021-11-15 00:36
程序代码:
#include
"
stdio.h
"
#include
"
stdlib.h
"
void
choose(
int
a[],
int
n){
int
i,j,_tp;
for
(i=
1
;i<n;i++)
{
for
(j=n-
1
;j>=i;j--)
{
if
(a[j]>a[j-
1
]){
_tp=a[j];
a[j]=a[j-
1
];
a[j-
1
]=_tp;
}
}
}
}
void
output(
int
a[],
int
n){
int
i;
for
(i=
0
;i<n;i++)
printf(
"
%3d
"
,a[i]);
}
void
main()
{
int
a[
1000
],n,i,j,num;
printf(
"
请输入N:
"
);
scanf(
"
%d
"
,&n);
for
(i=
0
;i<n;i++){
scanf(
"
%d
"
,&a[i]);
}
choose(a,n);
output(a,n);
printf(
"
\n最大值=%d,最小值=%d\n
"
,a[
0
],a[n-
1
]);
printf(
"
请输入一个值:
"
);
scanf(
"
%d
"
,&num);
for
(i=
0
;i<n;i++) {
if
(num > a[i]) {
for
(j = n; j >= i; j--) {
a[j] = a[j -
1
];
}
a[i] = num;
break
;
}
}
output(a,n+
1
);
}
#3
疯哈
2021-11-15 09:42
1