yjy


私信TA

用户名:dotcpp0664108

访问量:166

签 名:

等  级
排  名 17393
经  验 738
参赛次数 0
文章发表 4
年  龄 0
在职情况 学生
学  校 青岛科技大学
专  业

  自我简介:

TA的其他文章

解题思路:整体思路是将要比较的字符串放入一个字符数组里面,为了便于写cmp方法进行比较,我在这里用结构体将其保存,开了1000的长度是因为一开始我开了10怎么也通过不了第二个测试点,检查算法没有问题,回想了十多分钟才意识到很可能第二个测试点的字符串过长我开的空间不够所以就改成了1000,其实差不多大就行。

注意事项:开数组的空间开大点,sort方法的自定义cmp比较时想到用结构体保存,这样比较起来的算法很好写,也可以不用strcmp直接return a.st<b.st当然也行
参考代码:

#include<iostream>

#include<cstdio>

#include<algorithm>

#include<cstring>


using namespace std;


struct stringcompare{

char st[1000];

};


stringcompare str[5];


bool cmp(stringcompare a,stringcompare b){


return strcmp(a.st, b.st) < 0;

}


int main(){

for(int i=0;i<3;i++){

cin>>str[i].st;

}

sort(str,str+3,cmp);

for(int i=0;i<3;i++){

cout<<str[i].st<<endl;

}

    return 0;

}


 

0.0分

1 人评分

  评论区