求c++大神,程序和题目如下,在字典排序是我的程序出了问题,求大神帮忙调试并指出错误原因。跪谢!

#include<iostream.h>#include<string.h>voidmain(){charN[100],L[100];inti,j,m,n,k=0;cin... #include<iostream.h>#include<string.h>void main(){ char N[100],L[100]; int i,j,m,n,k=0; cin>>N; for(i=0;N[i]!='\0';i++) { k++; } cout<<endl; for(i=1;i<k;i++) { for(m=0,j=i;j<k+i;j++) { if(j<k) { cout<<N[j]; } else { cout<<N[m]; m=m+1; } } cout<<endl; } cout<<endl; char M[100][100]; for(i=0;i<k;i++) { for(m=0,n=0,j=i;j<k+i;j++) { if(j<k) { M[i][n]=N[j]; n=n+1; } else { M[i][n]=N[m]; m=m+1; n=n+1; } } } for(i=0;i<k;i++) { for(j=i;j<k;j++) { if(strcmp(M[i],M[j])<0) { strcpy(L,M[i]); strcpy(M[i],M[j]); strcpy(M[j],L); } } } for(i=0;i<k;i++) { for(n=0;n<k;n++) { cout<<M[i][n]; } cout<<endl; } cout<<endl; } 展开
 我来答
xoaxa
2014-05-30 · TA获得超过8612个赞
知道大有可为答主
回答量:6415
采纳率:72%
帮助的人:3504万
展开全部
#include <iostream.h>
#include <cstring>

int main() {
char s[100][100] = {0},t[100],ch;
int i,j,n,k;
cin.getline(s[0],100);
n = strlen(s[0]);
for(i = 1; i < n; ++i) { // 生成其他各串
ch = s[i - 1][0];
for(j = 0; j < n - 1; ++j)
s[i][j] = s[i - 1][j + 1];
s[i][n - 1] = ch;
cout << s[i] << endl;
}
for(i = 0; i < n - 1; ++i) { // 排序
k = i;
for(j = i + 1; j < n; ++j) {
if(strcmp(s[k],s[j]) > 0)  
k = j;
}
if(k != i) {
strcpy(t,s[i]);
strcpy(s[i],s[k]);
strcpy(s[k],t);
}
}
for(i = 0;i < n; ++i) // 输出结果
cout << s[i] << endl;
return 0;
}
更多追问追答
追问
能稍作修改吗。。改的太多了。。
追答
你的算法看不明白,所以“修改”很难。如果你没看清楚我上传的代码算法,你可以追问。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式