第一题:给定程序功能是用选择排序法对6个字符串进行排序。
请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。
#include
#include
#define MAXLINE 20
fun(char *pstr[6])
{
int i, j;
char *p;
for (i=0; i<5; i++)
for (j=i+1; j<6; j++)
if (strcmp(*(pstr+i), ___1___) > 0)
{
p = *(pstr+i);
pstr[i] = ___2___;
*(pstr + j) = ___3___;
}
}
main()
{
int i;
char *pstr[6], str[6][MAXLINE];
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]);
}
参考答案:
第一题:第一空:*(pstr+j)or pstr[j]
第二空:pstr[j] or *(pstr+j)
第三空:p