解题思路:
定义一个字符数组保存字符串,再定义一个字符指针保存子串的首地址,然后用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语言程序设计教程(第三版)课后习题8.9 (C语言代码)浏览:662 |
拆分位数 (C语言代码)浏览:1328 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:378 |
简单的a+b (C语言代码)浏览:599 |
C语言程序设计教程(第三版)课后习题8.2 (C语言代码)浏览:5232 |
众数问题 (C语言代码)浏览:830 |
WU-输出正反三角形 (C++代码)浏览:1021 |
用筛法求之N内的素数。 (C语言代码)浏览:808 |
1011题解浏览:765 |
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:676 |