解题思路:
定义一个字符数组保存字符串,再定义一个字符指针保存子串的首地址,然后用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 人评分
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:1206 |
震宇大神的杀毒软件 (C语言代码)浏览:1241 |
C语言训练-角谷猜想 (C++代码)(3N+1问题)浏览:1751 |
弟弟的作业 (C++代码)浏览:1304 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:449 |
C语言程序设计教程(第三版)课后习题8.7 (C语言代码)浏览:596 |
C语言考试练习题_保留字母 (C语言代码)浏览:713 |
幸运数 (C++代码)浏览:1265 |
【亲和数】 (C语言代码)浏览:600 |
川哥的吩咐 (C语言代码)浏览:611 |