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

输入一个字符串,存入数组a,将其复制到数组b,然后将数组b中所有小写字母改为大写字母,再将a中字符串连接到b。比较并输出a,b中的字符串的大小,最后输出a,b中的字符串。... 输入一个字符串,存入数组a,将其复制到数组b,然后将数组b中所有小写字母改为大写字母,再将a中字符串连接到b。比较并输出a,b中的字符串的大小,最后输出a,b中的字符串。
要求:(1)不能使用strcpy,strcat等字符串库函数。
(2)在子函数Converse()中进行大小写转换,在子函数Connect()中连接二个字符串,在子函数Compare()中比较二个字符串的大小。
例输入
abcdefg
输出
字符串a:abcdefg
字符串b:ABCDEFGabcdefg
比较结果:a > b

用C++的代码写,不要复制的,sun_siliang,大神快来回答,你当年回答过这个问题,这次多了点要求
展开
 我来答
White_MouseYBZ
推荐于2017-10-01 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6352万
展开全部

我不是sun_siliang,但我能回答你的问题。不介意的话就拿去用……

#include "stdio.h"
void Converse(char *p){
if(p)
while(*p){
if(*p>='a' && *p<='z')
*p-=0x20;
p++;
}
}
void Connect(char *a,const char *b){
while(*a)
a++;
while(*a++=*b++);
}
void Compare(const char *a,const char *b){
while(*a==*b && *a)
a++,b++;
printf("a %c b\n",*a>*b ? '>' : *a<*b ? '<' : '=');
}
int main(int argv,char *argc[]){
char a[50],b[101],i;
printf("Input a strings...\n");
scanf("%50s",a);
for(i=0;b[i]=a[i];i++);
Converse(b);
Connect(b,a);
printf("String a:\t%s\nString b:\t%s\nCompare :\t",a,b);
Compare(a,b);
return 0;
}

运行举例:

沧海雄风2009
推荐于2016-02-26 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8525
采纳率:79%
帮助的人:2740万
展开全部
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");
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rm_2013
2012-07-03 · TA获得超过459个赞
知道小有建树答主
回答量:281
采纳率:100%
帮助的人:162万
展开全部
函数给你写出来了,输入输出自己补充去
什么叫C++代码?

void Converse(char *str)
{
while (*str != '\0') {
if (*str >= 'a' && *str <= 'z')
*str += 'A' - 'a';
++str;
}
}

void Connect(char *dest, const char *src)
{
while (*dest != '\0')
++dest;
while (*src != '\0')
*dest++ = *src++;
*dest = '\0';
}

int Compare(const char *a, const char *b)
{
do {
if (*a != *b)
return *a < *b ? -1 : 1;
} while (*a++ != '\0' && *b++ != '\0');
return 0;
}

int main()
{
char a[100] = "abcdefg";
char b[100] = "abcdefg";
Converse(b);
printf("b = %s\n", b);
Connect(a, b);
printf("a = %s\n", a);
printf("compare(a, b) = %d\n", Compare(a, b));
printf("compare(b, a) = %d\n", Compare(b, a));
printf("compare(a, a) = %d\n", Compare(a, a));
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
大把推
2012-07-03 · TA获得超过234个赞
知道答主
回答量:158
采纳率:0%
帮助的人:79.3万
展开全部
百度一下你就知道
追问
百度一下我就知道了,我还提问什么,知道里头是有个题目是这样的,不过没有我这道题的 要求2。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式