字符降序与升序

字符降序

        老规矩:先分析,写下思路,上代码

        1.看到题目,我们想想怎样来排序,冷静分析;

        2.思路:输入字符串,将字符串转换为字符数组,用sort排序+greater来将字符串降序,然后再将字符数组转换为字符串,输出字符串;

       3.上代码(命名数组是个人习惯,准确识别数组是程序员的必修课

#include   
#include   
#include   
  
using namespace std;  
  
int main() {  
    string str;  
    cout << "请输入一个字符串:";  
    getline(cin, str);  
  
                                // 将字符串转换为字符数组,以便我们可以修改它的顺序  
    char zfc[str.length()];  
    for (int i = 0; i < str.length(); i++) {  
        zfc[i] = str[i];  
    }  
  
                               // 使用C++的sort函数对字符数组进行排序  
    sort(zfc, zfc + str.length(), greater());  
  
                               // 将排序后的字符数组转换回字符串并输出  
    string shuchu(zfc, zfc + str.length());  
    cout << "降序排列后的字符串为:" << shuchu << endl;  
  
    return 0;  
}
字符升序 

       老规矩:先分析,写思路,上代码;

        1.字符降序有greater<>,但升序没有具体的函数,我们就要充分利用sort函数的默认升序

        2.思路:在字符降序的代码上删除掉greater函数,就默认升序了

        3.上代码;

#include   
#include   
#include   
  
using namespace std;  
  
int main() {  
    string str;  
    cout << "请输入一个字符串:";  
    getline(cin, str);  
  
                                // 将字符串转换为字符数组,以便我们可以修改它的顺序  
    char zfc[str.length()];  
    for (int i = 0; i < str.length(); i++) {  
        zfc[i] = str[i];  
    }  
  
                               // 使用C++的sort函数对字符数组进行排序  
    sort(zfc, zfc + str.length());  
  
                               // 将排序后的字符数组转换回字符串并输出  
    string shuchu(zfc, zfc + str.length());  //11111    删掉greater()
    cout << "降序排列后的字符串为:" << shuchu << endl;  
  
    return 0;  
}

     

 

      

你可能感兴趣的:(大一新生C/C++入门程序作业,算法,数据结构)