一道C++编程题,求大神解决!!!!求代码。。。

输入一个字符串,存入数组a,将其复制到数组b,然后将数组b中所有小写字母改为大写字母,再将a中字符串连接到b。比较并输出a,b中的字符串的大小,最后输出a,b中的字符串。

要求:
(1)不能使用strcpy,strcat等字符串库函数。
(2)在子函数Converse()中进行大小写转换,在子函数Connect()中连接二个字符串,在子函数Compare()中比较二个字符串的大小。

例:
输入:abcdefg
输出:
字符串a:abcdefg
字符串b:ABCDEFGabcdefg
比较结果:a > b

2 个回答

http://zhidao.baidu.com/question/446180833.html?fr=fd

答案与评论均要看,可以解决的。
abcde
字符串a:abcde
字符串b:ABCDEabcde
a>b
Press any key to continue

include <stdio.h>

Converse(char t)
{
while (
t!='\0')
{
if (t>='a' && *t<='z')
{
*t-=32;
}
t++;
}
}
Connect(char *s, char *d)
{
while (
s++!='\0');
s--;
while ((s++=d++)!='\0');
}
int Compare(char s,char *d)
{
while(
s && d && (s == d))
{
s++;
d++;
}
return *s-
d;
}
main()
{
char p,s,a[20]={0},b[20]={0};
gets(a);
p=a;
s=b;
printf("字符串a:%s\n",a);
while ((s++=p++)!='\0');
Converse(b);
Connect(b,a);
printf("字符串b:%s\n",b);
if (Compare(a,b)>0)
puts("a>b");
else if (Compare(a,b)<0)
puts("a<b");
else
puts("a=b");
}

沧海雄风20092012-7-5 15:41
啊 手误 while(*p!='\0') { *s = *p; p++;s++; }

小兵上树2012-7-5 15:40
while后面的表达式什么意思啊,还能改么..运行出错errorC2100

沧海雄风20092012-7-5 15:29
while(*0!='\0') { *s = *p; p++;s++; }

小兵上树2012-7-5 15:19
while ((s++=p++)!='\0'); 这个怎么改的简单点回复沧海雄风20092012-7-4 09:19
几乎没什么区别 #include <iostream> using namespace std; 。。。。。。 字数限制 cout<<"字符串a:"<<a<<endl; cout<<"字符串b:"<<b<<endl; cout<<"a>b"<<endl; cout<<"a<b"<<endl; cout<<"a=b"<<endl;
能改成#include<iostream> using namespace std;这种代码的么,我们学的是这个的,帮帮忙吧。

include<iostream>

using namespace std;
class Test{
public:
void Mystrcpy(char* p1, char* p2)
{
while(p2!='\0'){
*p1=
p2;
p1++;
p2++;

}
p1 = '\0';
}
void Converse(char *t)
{

while (
t!='\0')
{
if (*t>='a' && *t<='z')
{
*t-=32;
}
t++;
}
}

void Connect(char* str1, char* str2)
{
    while(*str1!='\0'){
        str1++;
    }
    while(*str2!='\0'){
        *str1=*str2;
        str1++;
        str2++;
    }
    *str1 = '\0';
}

int Mystrlen(char * str)
{
    int num=0;
    while(*str!='\0'){
        num++;
        str++;
    }
    return num;
}

};

int main()
{
char a[20];
char b[40];
cout<<"請輸入字符串a:"<<endl;
cin>>a;
Test t;
t.Mystrcpy(b,a);
t.Converse(b);
t.Connect(b,a);
cout<<"a是大小:"<<t.Mystrlen(a)<<" b大小:"<<t.Mystrlen(b)<<endl;
if(t.Mystrlen(a)>=t.Mystrlen(b)){
if(t.Mystrlen(a)==t.Mystrlen(b)){
cout<<"一樣大"<<endl;
}
cout<<"a大"<<endl;

}else{
    cout&lt;&lt;&quot;b大&quot;&lt;&lt;endl;
}
cout&lt;&lt;&quot;a:&quot;&lt;&lt;a&lt;&lt;endl;
cout&lt;&lt;&quot;b:&quot;&lt;&lt;b&lt;&lt;endl;
return 0;

}

你的回答