当前位置:   article > 正文

C++ 对输入的n个字符串进行按字典顺序排序(不区分大小写)_c++给出n格字符串请将它们按字典序从小到大排好

c++给出n格字符串请将它们按字典序从小到大排好
  1. #include<iostream>
  2. #include<cstring>
  3. #include<algorithm>
  4. using namespace std;
  5. int is_paixu(char *a,char *b){//循环比较各位大小
  6. int i;
  7. char th,ch;
  8. for (i=0;i<min(strlen(a),strlen(b));i++){
  9. if(a[i]>='a')
  10. th=a[i]-32;
  11. else
  12. th=a[i];
  13. if(b[i]>='a')
  14. ch=b[i]-32;
  15. else
  16. ch=b[i];
  17. if(th<ch||a[i]==' '){
  18. return 0;
  19. break;
  20. }
  21. else if(th>ch||b[i]==' ')
  22. {return 1;
  23. break;
  24. }
  25. else if(th==ch) continue;
  26. }
  27. }
  28. void swap(char *&a,char* &b){//交换字符串的值
  29. char *temp;
  30. temp=a;
  31. a=b;
  32. b=temp;
  33. }
  34. int main(){
  35. int n,l,i,j;
  36. cin>>n;
  37. l=n;
  38. char a[100][100];
  39. while(n--){//经dev验证存储在0-n-1中 n=0时仍继续循环 n=-1结束
  40. cin>>a[n];
  41. }
  42. for(i=0;i<l-1;i++)
  43. for(j=0;j<l-i-1;j++){
  44. if(is_paixu(a[j],a[j+1])==1)
  45. swap(a[j],a[j+1]);
  46. }
  47. for(i=0;i<l;i++){
  48. cout<<a[i]<<endl;
  49. }
  50. }

 

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

闽ICP备14008679号