输入一个字符串,存入数组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,大神快来回答,你当年回答过这个问题,这次多了点要求 展开
要求:(1)不能使用strcpy,strcat等字符串库函数。
(2)在子函数Converse()中进行大小写转换,在子函数Connect()中连接二个字符串,在子函数Compare()中比较二个字符串的大小。
例输入
abcdefg
输出
字符串a:abcdefg
字符串b:ABCDEFGabcdefg
比较结果:a > b
用C++的代码写,不要复制的,sun_siliang,大神快来回答,你当年回答过这个问题,这次多了点要求 展开
4个回答
展开全部
我不是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;
}
运行举例:
展开全部
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");
}
字符串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");
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
函数给你写出来了,输入输出自己补充去
什么叫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));
}
什么叫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));
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
百度一下你就知道
追问
百度一下我就知道了,我还提问什么,知道里头是有个题目是这样的,不过没有我这道题的 要求2。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询