C++程序问题,不懂咋改才能够输出正确,高手看看吧。如果回答对,我把其他问题的分也送你

#include<iostream>usingnamespacestd;intmain(){chara[100],b[100],c[200],*ap=a,*bp=b,*c... #include<iostream>
using namespace std;
int main()
{
char a[100],b[100],c[200],*ap=a,*bp=b,*cp=c;
cin>>a>>b;
while(1)
{
if(*ap=='\0')
{
strcpy(c,b);
}
if(*bp=='\0')
{
strcpy(c,a);
}
if(*ap<*bp)
{
*cp=*bp;
*cp++;
*bp++;
}
else
{
*cp=*ap;
*cp++;
*ap++;
}
}
cout<<"排序后:"<<*cp<<endl;
return 0;
}
其他题有四十分哦
展开
 我来答
flowercutsjia
2011-12-04 · 超过15用户采纳过TA的回答
知道答主
回答量:45
采纳率:0%
帮助的人:34.7万
展开全部
童鞋:如果不是题目要求你用指针,我推荐你使用C++风格的string库来完成该题目。假定就想把C与C++撮一陀,可以是:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<stdexcept>

using namespace std;
void prints(const char*);

int main()
{
char a[100],b[100],c[200],*ap=a,*bp=b;
cout<<"Enter two strings: "<<endl;
gets(a);
gets(b);

if(*ap=='\0' && *bp=='\0')
throw runtime_error("Input invalid");

while(*ap!='\0' && *bp != '\0')
{
if(*ap<*bp)
{
strcpy(c,b);
break;
}
else if(*ap>*bp)
{
strcpy(c,a);
break;
}

else
{
++ap;
++bp;
}
}

if(*ap=='\0'&& *bp!='\0')
strcpy(c,b);
else
strcpy(c,a);

cout<<"After sort:"<<endl;
prints(c);
return 0;
}

void prints(const char* p)
{
while(*p!= '\0')
{
cout<<*p++;
}
}

不过,还是不推荐使用指针…
追问
呵呵,我就是在学习指针,不是指针的我会做。你搜一下:字符串查找 输入英文的星期几,确定对应的数字。 帮帮,速度啊·······在里面写一点东西,我把那题的分数也给你
笃侠6A
2011-12-04 · TA获得超过3734个赞
知道大有可为答主
回答量:3205
采纳率:75%
帮助的人:3254万
展开全部
#include<iostream>
using namespace std;
int main()
{
char a[100],b[100],c[200],*ap=a,*bp=b,*cp=c;
cin>>a>>b;
while(*ap!='\0' && *bp!='\0')
{
if(*ap<*bp)
{
*cp=*bp;
cp++; //*cp++;
bp++; //*bp++;
}
else
{
*cp=*ap;
cp++;
ap++;
}
}
*cp='\0';
if(*ap=='\0')
{
strcat(cp,bp); //strcpy(c,b);
}
if(*bp=='\0')
{
strcat(cp,ap); //strcpy(c,a);
}
cp=c;
cout<<"排序后:"<<cp<<endl;
return 0;
}
追问
对不起,我写的程序不是要简单的合并···,是比较两个字符串,然后···比如输入125557788aggg 和1111234444rrr程序输出为1111122344445557788a····
追答
是这样的啊,只要输入的两个字符串是有序的。合并后也是有序的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
19960113li
2011-12-04
知道答主
回答量:17
采纳率:0%
帮助的人:5.2万
展开全部
不能用strcpy 这是复制,应该用strcat 追加 还有while循环的限制条件错了,是其中一个到了结束符就退出- -还有一个错误
你没有#include<cstring>
不知道这样可不可以了
追问
老师写的就是strcpy,都能够运行,并且对了老师也是这样写while循环限制的,但是对了。这个是我们做过后的,不过我还没有懂,所以就来这里提问了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式