题目:求字串 哪里错了? 求精通STL的大神帮忙。。。 20

【问题描述】求一个长度为n的字符串中所有长度为k的子字符串,并将所有子串按字典序从小到大输出。【输入格式】输入共2行。第一行为字符串,其长度为n(1≤n≤1000),字符... 【问题描述】
   求一个长度为n的字符串中所有长度为k的子字符串,并将所有子串按字典序从小到大输出。

【输入格式】
  输入共2行。
  第一行为字符串,其长度为n(1≤n≤1000),字符串中不包含空格。
  第二行一个整数k,0<k≤min(5, n)。

【输出格式】
  输出共一行。
  按从小到大排列的所有子字符串, 子串之间用空格隔开。

【样例输入】
  HelloWorld
  3

【样例输出】
  Hel Wor ell llo loW oWo orl rld
C++错误代码:(60分)
#include<bits/stdc++.h>//"万能"的头文件
using namespace std;
string m;
int n;
map<string,bool> book;
int main(void)
{
cin>>m>>n;
int l=m.length();
book.clear();
for(int i=0;i<=l-n;i++)
{
string temp=m.substr(i,n);
book[temp]=true;
}
for(map<string,bool>::iterator i=book.begin();i!=book.end();i++)
cout<<i->first<<ends;
return 0;
}
展开
 我来答
匿名用户
2016-07-13
展开全部
你打印出s字符串看看,我的理解是估计是s字符串只读入了abc这三个字符在c中,空格是隔开输入的一个分隔符,也就是在多个%读入中,空格是把这些输入分开的标志你用gets(s)试试
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式