以文本方式查看主题 - 计算机科学论坛 (http://bbs.xml.org.cn/index.asp) -- 『 C/C++编程思想 』 (http://bbs.xml.org.cn/list.asp?boardid=61) ---- 谁能帮忙看看这段程序哪里有错? (http://bbs.xml.org.cn/dispbbs.asp?boardid=61&rootid=&id=28127) |
-- 作者:greatmenddc -- 发布时间:3/4/2006 9:04:00 PM -- 谁能帮忙看看这段程序哪里有错? 楼主 我在做C++的一道习题时编了下面的程序,但运行时却死机了,恳请哪位大虾指点: #include<string.h> #include<iostream.h> class STR{ char s1[80],s2[80]; char s3[160]; public: STR(char a[],char b[]) { strcpy(s1,a);strcpy(s2,b);} void consort() { int i,j,n,p; char c; strcpy(s3,s1); strcpy(s3,s2); n=strlen(s3); for(i=0;i<n-1;i++) { p=i; for(j=i+1;j<n;j++) if(s3[j]<s3[p]) p=j; if(p!=i) { c=s3[i];s3[i]=s3[p];s3[p]=c;} } } void show() { cout<<s1<<endl;cout<<s2<<endl;cout<<s3<<endl;} }; void main() 题目要求的运行结果应是:pear |
-- 作者:elfstone -- 发布时间:3/5/2006 12:52:00 AM -- 你的程序我越看越晕,我写了个算法,你参考。。。 #include "iostream" #include "string" using namespace std; string s1,s2,s3; int main() { cin>>s1>>s2; s3=s1+s2; char ch; bool change=true; for(int i=s3.length()-1;i>0&&change;i--) { change=false; for(int j=0;j<i;j++) if(s3[j]>s3[j+1]) { ch=s3[j]; s3[j]=s3[j+1]; s3[j+1]=ch; change=true; } } cout<<s1<<endl<<s2<<endl<<s3<<endl; system("PAUSE"); return 0; }
|
-- 作者:elfstone -- 发布时间:3/5/2006 12:55:00 AM -- 一个基本的冒泡法排序就搞定了,对string类的运算是很灵活的。。。 |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
46.875ms |