首页 > 用户发贴区 > 编程问题提问区 > 为何回发生错误?
2008
11-08

为何回发生错误?

#include<stdio.h>
void main()
{
 int a[10],b[11];
    int i,j,t,x,n,k,h;
 printf(“input 10 numbers:\n”);
 for(i=1;i<=10;i++)
  scanf(“%d”,&a[i]);
 printf(“\n”);
 for(j=1;j<=9;j++)
  for(i=1;i<=9-j;i++)
            if(a[i]<a[i+1])
   {
    t=a[i];
    a[i]=a[i+1];
    a[i+1]=t;
   }
    printf(“the sorted numbers:\n”);
    for(i=1;i<=10;i++)
  printf(“%d “,a[i]);
  printf(“\n”);
for(i=1;i<=10;i++)
 b[i]=a[i];
    b[11]=0; 
printf(“请输入您要插入的整数\n”);
scanf(“%d”,&x);
printf(“您要将次数插入第几个数字的后面(在第1与第10个数字中选择)?\n”);
scanf(“%d”,&n);


k=b[n+1];
b[n+1]=x;
b[n+2]=k;



for(i=n+3;i<=11;i++)
b[i]=a[i-1];
 
   



printf(“the sorted numbers:\n”);
    for(h=1;h<=11;h++)
  printf(“%d “,b[h]);
  printf(“\n”);
}


为何回发生错误?》有 1 条评论

  1. Perfect 说:

    你的冒泡排序有问题

    正确的因该是下面的形式

        for(j=0;j<=9;j++){
            for(i=0;i<=9-j;i++){
                if(a[i]<a[i+1]){
                    t=a[i];
                    a[i]=a[i+1];
                    a[i+1]=t;
                }
            }
        }

留下一个回复