Bruce_N 2023-03-22 22:53 采纳率: 57.1%
浏览 145
已结题

一道C程序填空题,实在想不出来,求指导

有 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()参数使用整型指针也能成功,而且还能正确输出,求高人解答!

  • 写回答

12条回答 默认 最新

  • threenewbee 2023-03-22 22:58
    关注
    strcmp(a[j], a[j+1]) > 0
    
    
    评论

报告相同问题?

问题事件

  • 系统已结题 3月31日
  • 赞助了问题酬金15元 3月23日
  • 创建了问题 3月22日