下列给定程序中,函数fun的功能是:用冒泡法对6个字符串按由小到大的顺序进行排序。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#include <stdio.h>
#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])c语言的冒泡排序算法
(2)错误:if(strcmp(*(pstr+I),pstr+j)>0) 正确:if(strcmp(*(pstr+I),*(pstr+j))>0)
(3)错误:*(pstr+I)=pstr+j; 正确:*(pstr+I)= *(pstr+j);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论