#include
#define N 100
void insert(int a[],int n,int x) {
int i,j;
for(i = 0;i < n; ++i) {
if(x <= a[i]) {
for(j = n; j > i; --j)
a[j] = a[j - 1];
a[j] = x;
return;
}
}
a[n] = x;
}
void sort(int a[], int n) {
int i,j,k,t;
for(i = 0; i < n - 1;++i) {
k = i;
for(j = i + 1;j < n; ++j) {
if(a[j] < a[k]) k = j;
}
if(k != i) {
t = a[i];
a[i] = a[k];
a[k] = t;
}
}
}
void show(int a[], int n) {
int cnt = 0;
for(int i = 0;i < n; ++i) {
if(cnt && cnt%10 == 0) printf("\n");
++cnt;
printf("%d ",a[i]);
}
if(cnt%10) printf("\n");
}
int main() {
int i,x,n,a[N];
printf("n = ");
scanf("%d",&n);
for(i = 0;i < n; ++i) scanf("%d",&a[i]);
sort(a,n);
printf("\n排序后:\n");
show(a,n);
printf("\n输入要插入的数:");
scanf("%d",&x);
insert(a,n,x);
printf("\n插入%d后:\n",x);
show(a,n + 1);
return 0;
}
代码文本:
#include "stdio.h"
#define N 10
int main(int argc,char *argv[]){
int a[N+1]={1,5,6,8,10,13,16,17,21,22},i,j,n;
printf("Please enter a number to be inserted...\n");
scanf("%d",&n);
for(i=N;i>0;i--){//插入
if(n>=a[i-1]){
a[i]=n;
break;
}
a[i]=a[i-1];
}
if(i==0)
a[i]=n;
printf("After insert %d :\n",n);
for(i=0;i<=N;printf("%d ",a[i++]));//输出插入后的数组
putchar('\n');
for(i=0;i<=N;i++)//删除刚刚插入的数
if(a[i]==n)
for(j=i++;i<=N;a[j++]=a[i++]);
printf("After delete %d :\n",n);
for(i=0;i putchar('\n'); return 0; }