解题思路:
定义一个字符数组保存字符串,再定义一个字符指针保存子串的首地址,然后用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分
9 人评分
求圆的面积 (C语言代码)浏览:1269 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:655 |
【简单计算】 (C语言代码)浏览:622 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:1146 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:534 |
C语言考试练习题_保留字母 (C语言代码)浏览:700 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:547 |
关于C语言变量位置的问题浏览:272 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:506 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:1067 |