p 199 6.2 字符串排序.cpp

来自「谭浩强 《C++ 程序设计》第三版的部分课后练习题源码」· C++ 代码 · 共 32 行

CPP
32
字号
#include<iostream>
#include<string>
using namespace std;
int main()
{  char* name[3];//={"BASIC","FORTRAN","c++"};
   int i;
   for(i=0;i<3;i++)  {*(name+i)=new char[30];
                      if(*(name+i)==NULL) cout<<"error";//注意的问题:设定指针数组的时候, 
                     }                                   //同时开辟空间,否则很容易不运行 
   
   for(i=0;i<3;i++)
   {  cout<<"please input the string "<<i+1<<": ";
      cin>>name[i];
   }
   int j,k;
   for(i=0;i<2;i++)
    {  k=i;
       for(j=i+1;j<3;j++)
       if(strcmp(*(name+i),*(name+j))>0)  k=j;
       if(k!=i)  {  char*p=NULL;
                    p=*(name+i);
                    *(name+i)=*(name+k);
                    *(name+k)=p;
                 
                 }
     }
    cout<<" 排序从小到大的顺序是:";
     for(i=0;i<3;i++) cout<<*(name+i)<<endl; 
    system("pause");
    return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?