满意答案
wqhd4898
2013.03.10
采纳率:42% 等级:11
已帮助:8055人
问题太多了……
第一个你的第一个冒泡排序时不要把输出语句也包括进去。第二个输出时不要用&,直接是a[],第三个,你排序不是从小到大么,插入数据后怎么便大到小了……
下面是我按你的程序改的
#include "stdio.h"
void main()
{ int a[6];
int i,j,temp,in;
printf("输入数:");
for(i=0;i<5;i++)
scanf("%d",&a[i]);
printf("排序结果:");
for(i=0;i<5;i++)
for(j=0;j<5-i-1;j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
for(i=0;i<5;i++)
printf("%d",a[i]);
printf("输入插入的数:");
scanf("%d",&in);
for(i=0;i<5;i++)
{
if(a[i]>in)
break;}
for(j=5;j>i;j--)
{ a[j]=a[j-1];
}
a[j]=in;
printf("插入数位:");
for(i=0;i<6;i++)
printf("%d",a[i]);
}
00分享举报