Hzu挑战自我


私信TA

用户名:gxhzxyjsj

访问量:98859

签 名:

2024终究会过去,期待2025!

等  级
排  名 8
经  验 27874
参赛次数 67
文章发表 157
年  龄 0
在职情况 教师
学  校 贺州学院
专  业 软件工程

  自我简介:

弱鸡一个,继续努力!

解题思路:

    定义一个字符数组保存字符串,再定义一个字符指针保存子串的首地址,然后用sort函数排序再输出即可。


参考代码:

#include<bits/stdc++.h> 
using namespace std;
bool cmp(char *s1,char *s2)  //定义排序规则
{
	return strcmp(s1,s2)<0;
}
int main() 
{
	char s[1000];  //定义一个字符数组,保存输入字符串
	char *str[1000];   //定义指针,保存每一个子串的首地址
	while(cin>>s)
	{	
		int len=strlen(s);  //求字符串长度
		for(int i=0;i<len;i++)  //把每一个子串的地址保存到str中。
			str[i]=s+i;
		sort(str,str+len,cmp);  //对子串排序
		for(int i=0;i<len;i++)   //输出子串
			cout<<str[i]<<endl; 
	}
	return 0;
}


 

0.0分

10 人评分

  评论区

  • «
  • »