C语言在已经排好的一维数组里插入一个数
#include"stdio.h"voidmain(){inta[6]={1,3,5,7,9};inti,j,n;scanf("%d",&n);for(i=0;i<=4;...
#include"stdio.h"
void main()
{
int a[6]={1,3,5,7,9};
int i,j,n;
scanf("%d",&n);
for(i=0;i<=4;i++)
{
if(n>=a[i]&&n<=a[i+1])
{
for(j=5;j>i;j--)
a[j]=a[j-1];
a[i+1]=n;
break;
}
}
for(i=0;i<=5;i++)
printf("%d",a[i]);
}
如果我输入比原数组里最大的那个数.还要大的数.
那么就会变成0
为什么/要怎么修改?
如果比原来数组里最小的数还要小的数.输进去.也会出现错误. 展开
void main()
{
int a[6]={1,3,5,7,9};
int i,j,n;
scanf("%d",&n);
for(i=0;i<=4;i++)
{
if(n>=a[i]&&n<=a[i+1])
{
for(j=5;j>i;j--)
a[j]=a[j-1];
a[i+1]=n;
break;
}
}
for(i=0;i<=5;i++)
printf("%d",a[i]);
}
如果我输入比原数组里最大的那个数.还要大的数.
那么就会变成0
为什么/要怎么修改?
如果比原来数组里最小的数还要小的数.输进去.也会出现错误. 展开
1个回答
展开全部
改过来了,自己看吧:
#include"stdio.h"
void main()
{
int a[6]={1,3,5,7,9};
int i,j,n;
scanf("%d",&n);
for(i=0;i<=4;i++)
{
if(n>a[4])
a[5]=n;
else
if(n>=a[i]&&n<=a[i+1])
{
for(j=5;j>i;j--)
a[j]=a[j-1];
a[i+1]=n;
break;
}
}
for(i=0;i<=5;i++)
printf("%d",a[i]);
}
#include"stdio.h"
void main()
{
int a[6]={1,3,5,7,9};
int i,j,n;
scanf("%d",&n);
for(i=0;i<=4;i++)
{
if(n>a[4])
a[5]=n;
else
if(n>=a[i]&&n<=a[i+1])
{
for(j=5;j>i;j--)
a[j]=a[j-1];
a[i+1]=n;
break;
}
}
for(i=0;i<=5;i++)
printf("%d",a[i]);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询