用c语言编程,要求从键盘读入一个由单词和空格组成的英文长句,分解其中单词,并按照字典顺序排列输出

2025-04-25 12:25:56
推荐回答(3个)
回答1:

#include
#include

int main()
{
 char ch[100][100];
 char c;
 char temp[100][100];
 int i=0,j=0;
 /*将整个句子中的单词分离出来*/
 while((c=getchar())!='\n')
 {
  if(c!=' ')
  {
   ch[i][j]=c;
   j++;
  }
  else
  {
   ch[i][j]='\0';
   j=0;
   i++;
  }
 }
 ch[i][j]='\0';

 /*按字典的顺序排列*/
 for(int k=0;k<=i;k++)
 {
  for(int m=k+1;m<=i;m++)
  {
   if(strcmp(ch[k],ch[m])>0)
   {
    strcpy(temp[i],ch[k]);
    strcpy(ch[k],ch[m]);
    strcpy(ch[m],temp[i]);
   }
  }
 }
 /*输出排列后的单词*/
 for(int k=0;k<=i;k++)
  printf("%s\n",ch[k]);

}

回答2:

用二维数组吧,比如定义a[10][10],开始读到a[0][10]里,遇到空格就换到a[1][10],依次类推。之后就是排序了,随你用什么方法。

回答3:

서명
사인
하시기 바랍니다
기대

행복한
내일
오늘
어제
날짜
도시
자매의
스타
한국
중국
쓰기
좋은
주말
전화
무엇