用冒泡法对6个字符串按由小到大的顺序进行排序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

下列给定程序中,函数fun的功能是:用冒泡法对6个字符串按由小到大的顺序进行排序。

请改正程序中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

试题程序:

#include

#include

#include

#include

#define MAXLINE 20

/*************found**************/

fun(char *pstr[6])

{ int I, j;

char *p;

for(I=0;I<5;I++)

{for(j=I+1;j<6;j++)

/*************found**************/

{ if(strcmp(*(pstr+I),pstr+j)>0)

{

p=*(pstr+I);

/*************found**************/

*(pstr+I)=pstr+j;

*(pstr+j)=p;

}

}

}

}

void main()

{ int i;

char *pstr[6],str[6][MAXLINE];

system("CLS");

for(i=0;i<6;i++) pstr[i]=str[i];

printf("\nEnter 6 string(1 string at each

line):\n ");

for(i=0;i<6;i++) scanf("%s",pstr[i]);

fun(pstr);

printf("The strings after sorting:\n ");

for(i=0;i<6;i++)

printf("%s\n ",pstr[i]);

}

(1)错误:fun(char *pstr[6]) 正确:void fun(char *pstr[6])

(2)错误:if(strcmp(*(pstr+I),pstr+j)>0) 正确:if(strcmp(*(pstr+I),*(pstr+j))>0) (3)错误:*(pstr+I)=pstr+j; 正确:*(pstr+I)= *(pstr+j);

相关文档
最新文档