作业帮 > 综合 > 作业

C语言:输入6个英文单词,要求按从小到大排序,并输出.如下图所示:

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/17 23:13:18
C语言:输入6个英文单词,要求按从小到大排序,并输出.如下图所示:
#include
  #include
  int main()
  {
  char string[10][50],temp[50];
  printf("请输入6个单词:\n");
  for(int i = 0; i < 6; i++)
  scanf("%s",string[i]);
  /*冒泡排序*/
  for(int i = 0; i < 5; i++ )
  for(int j = i+1; j < 6; j++)
  if(strcmp(string[i],string[j]) == 1)//比较字符串大小,可以用strcmp
  {
  strcpy(temp,string[i]) ;//交换要strcpy
  strcpy(string[i],string[j]) ;
  strcpy(string[j],temp) ;
  }
  //输出
  printf("输出排好序的6个单词:\n");
  for(int i = 0; i < 6; i++ )
  puts(string[i]);
  return 0;
  }
PS:若有不明白的地方,
再问: 生成可执行文件时终端显示: lab_805.c:9: error: stray ‘\343’ in program 不知道问题在哪里。
再答: 此种错误,可能程序本身没有语法错误,应该是每一行的空格的编码不对,只需要将程序出错行前面的空格删掉,然后让程序再退回即可解决问题! 一般现在的编译器都有语法高亮,你把每行代码前面的空格删除后,一些语句就会有语法高亮的 还有程序改了  #include   #include   int main()   {   char string[10][50], temp[50];   printf("请输入6个单词:\n");   for(int i = 0; i < 6; i++)   scanf("%s", string[i]);   /*冒泡排序*/   for(int i = 0; i < 5; i++ )   for(int j = i+1; j < 6; j++)   if(strcmp(string[i], string[j]) == 1)//比较字符串大小,可以用strcmp   {   strcpy(temp, string[i]) ;//交换要strcpy   strcpy(string[i], string[j]) ;   strcpy(string[j], temp) ;   }   //输出   printf("输出排好序的6个单词:\n");   for(int i = 0; i < 6; i++ )   puts(string[i]);   return 0;   } 没改什么,就是多次声明了变量i,有些编译器不允许这么做