以下程序用于实现冒泡排序,请改正程序中的错误:
注:程序中单行注释部分为需要修改部分
注:程序中单行注释部分为需要修改部分
改错前
#include<stdio.h>
void bubble(int [], int);
#define LEN 10; //zcfu
main( )
{
int data[len], i; //zcfu
for (i=0; i<= LEN-1; i++)
scanf("%d", data[i]); //zcfu
printf("\n");
void bubble(data[LEN], LEN); //zcfu
for(i=0; i<= LEN; i++) // Output
printf("%8d", data[i]);
}
void bubble(int dat[], int length)
{
int head, tail,round,i;
int t;
head = 0;
tail = length - 1;
for (round = head; round <= tail; round++)
for (i = tail; i >= round+1; i--)
if ( dat[i] < dat[i-1] ) {
t=dat[i-1]; //zcfu
dat[i]=dat[i-1];
dat[i-1]=t;
}
}
改错后
#include<stdio.h>
#define LEN 10
void bubble(int [], int);
main( )
{
int data[LEN], i;
for (i=0; i<= LEN-1; i++) /* Input */
scanf("%d", &data[i]);
printf("\n");
bubble(data, LEN);//2
for(i=0; i<= LEN-1; i++) /* Output */
printf("%8d", data[i]);
}
void bubble(int dat[], int length)
{
int head, tail,round,i;
int t;
head = 0;
tail = length - 1;
/*Sorting */
for (round = head; round <= tail; round++) /*round*/
for (i = tail; i >= round+1; i--) /*times i*/
if ( dat[i] < dat[i-1] ) { /*exchange½»»»*/
t=dat[i]; dat[i]=dat[i-1]; dat[i-1]=t;
}
}