从键盘输入5个有序的数,并保存到长度为6的数组a中,再次从键盘输入一个整数,将其插入数组a中使得数组a中

从键盘输入5个有序的数,并保存到长度为6的数组a中,再次从键盘输入一个整数,将其插入数组a中使得数组a中的数据依然有序
例如:输入:1 2 6 7 9
插入的目标数为4
插入后数组内数据应该为:1 2 4 6 7 9

#include<stdio.h>

void main()
{
int arr[6]={NULL},num,i,j;

for(i=0;i<5;i++)
{
printf("请输入第%d个数:",i+1);
scanf("%d",&arr[i]);
}

printf("请输入要插入的数:");
scanf("%d",&num);

for(i=0;i<5;i++)
if(num<=arr[i])
{
for(j=5;j>=i;j--)
arr[j]=arr[j-1];
arr[i]=num;
break;
}

printf("插入后:\n");

for(i=0;i<6;i++)
printf("%d ",arr[i]);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-11-29
#include<stdio.h>
int main()
{
int i;
int j;
int a[6];
printf("输入5个有序数:\n");
for(i=0;i<5;i++)
scanf("%d",&a[i]);
int temp;
printf("输入要插入的数:\n");
scanf("%d",&temp);
for(i=0;i<5;i++)
{
if(a[i]>=temp)
{
break;
}
}
for(j=5;j>i;j--)
{
a[j]=a[j-1];
}
a[i] = temp;
printf("结果:\n");
for(i=0;i<6;i++)
printf("%d ",a[i]);
return 0;
}
第2个回答  2011-11-29
#include "stdio.h"

void main()
{
int a[6],t;
int i,j;
for(i=0;i<5;i++)
scanf("%d",&a[i]);
scanf("%d",&t);
for(i=0;i<5;i++)
if(t<a[i])
break;
for(j=5;j>i;j--)
a[j]=a[j-1];
a[i]=t;
for(i=0;i<6;i++)
printf("%d ",a[i]);
}
相似回答
大家正在搜