有 N个国家名,要求按字母先后顺序排列(用起泡排序法)后输出。
#define N 20
#include <stdio.h>
#include <string.h>
void main()
{ int a[N][30],t[30],i,j,s;
printf("\n初始数组:\n");
for (i=0;i<N;i++)
gets(a[i]);
for (i=0;i< (1) ;i++) //N-1
for(j=0;j< (2) ;j++) //N-i-1
if( (3) ) //strcmp(a[ j ] , a[ j + 1 ] ) > 0
{ strcpy(t,a[j]);
strcpy(a[j],a[j+1]);
strcpy(a[j+1],t);
}
printf("\n排序后:\n");
for (i=0;i<N;i++)
printf("%s\n",a[i]);
}
第1和第2空肯定没问题,第3空该填啥,我想了两个小时了也写不出来,我用的strcmp,但测试不成功。而且奇怪的是gets()参数使用整型指针也能成功,而且还能正确输出,求高人解答!