当前位置:   article > 正文

C语言输入10个英文国名,按序输出_c语言运行后输入英文后连续输出

c语言运行后输入英文后连续输出

如有报错,是本人学艺不精献丑了,给大家当个反面教材

1.将十个字符串写入一个10行20列的数组。(此处列数不一定是20,要看输入字符串最长的长度+1,为了保险我选择了20)

2.将每行的第一个元素(即此处的s[i][0])的地址赋予一个指针数组(即此处的a[i])

3.用冒泡排序法进行排序,此处使用了strcmp函数进行比较,相邻指针数组元素大小,即比较了其所指代的二维数组中一整行的元素(可以理解为按字母表顺序进行了比较,有相同元素则比较下一个字母)

4.最后以字符串的形式(%s)输出指针数组即可

  1. #include<stdio.h>
  2. #include<string.h>
  3. #include<stdlib.h>
  4. int main()
  5. {
  6. char s[10][20];
  7. int i, j;
  8. char *a[10],*x[1];
  9. printf("输入十个国家英文名\n");
  10. for(i=0;i<10;i++){//将字符串写入二维数组s
  11. scanf("%s",s[i]);
  12. }
  13. for(i=0;i<10;i++){//将每行开头的地址赋予指针数组
  14. a[i]=&s[i][0];
  15. }
  16. for(i=0;i<10;i++)//冒泡排序法排序指针数组a
  17. {
  18. for(j=0;j<9;j++){
  19. if (strcmp(a[j],a[j+1])>0){
  20. x[0]=a[j];
  21. a[j]=a[j+1];
  22. a[j+1]=x[0];
  23. }
  24. }
  25. }
  26. printf("排序为:");
  27. for(i=0;i<10;i++){//遍历数组输出
  28. printf("%s ",a[i]);
  29. }
  30. system("pause");
  31. return 0;
  32. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/651149
推荐阅读
相关标签
  

闽ICP备14008679号