解题思路:
定义一个字符数组保存字符串,再定义一个字符指针保存子串的首地址,然后用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语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:693 |
C语言程序设计教程(第三版)课后习题9.8 (Java代码)浏览:1643 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:1420 |
C二级辅导-阶乘数列 (C语言代码)浏览:694 |
【排队买票】 (C语言代码)浏览:900 |
简单的a+b (C语言代码)浏览:584 |
C语言程序设计教程(第三版)课后习题9.4 (C语言代码)浏览:679 |
水仙花 (C语言代码)浏览:1098 |
关于C语言变量位置的问题浏览:273 |
模拟计算器 (C语言代码)浏览:2303 |