1.从键盘输入两个字符串a,b,判断a,b是否相同,若不相同联接ab生成新的字符串c。要
1个回答
展开全部
#include <stdio.h>
#include <stdlib.h>
// 测字符串长度 类似strlen
int length(char *s)
{int n=0;
while (s[n] != 0) n++;
return n;
}
// 比较 类似strcmp
int cmp(char *a, char *b)
{
int i,la,lb,L,r=0;
la = length(a); lb = length(b);
L=la; if (lb<L) L=lb;
for (i=0;i<L;i++) if (a[i] != b[i]) {if (a[i]>b[i]) r=i;else r= -i; break;}
if (r==0) if (la > lb) {r=1;} else if (la < lb) r = -1;
return r;
}
// 联接 类似strcat
void connect(char *a, char *b,char *c)
{
int i,la,lb;
la = length(a); lb = length(b);
for (i=0;i<la;i++) c[i]=a[i];
for (i=0;i<lb;i++) c[i+la]=b[i];
c[la+lb]=0;
}
int main(void)
{
char a[30],b[30],c[60];
int i,r;
printf("eneter 2 strings\n");
scanf("%s",a);
scanf("%s",b);
r = cmp(a, b);
if (r != 0) {
connect(a,b,c);
printf("%s\n",c);
} else {
printf("There are the same: %s\n",a);
}
return 1;
}
#include <stdlib.h>
// 测字符串长度 类似strlen
int length(char *s)
{int n=0;
while (s[n] != 0) n++;
return n;
}
// 比较 类似strcmp
int cmp(char *a, char *b)
{
int i,la,lb,L,r=0;
la = length(a); lb = length(b);
L=la; if (lb<L) L=lb;
for (i=0;i<L;i++) if (a[i] != b[i]) {if (a[i]>b[i]) r=i;else r= -i; break;}
if (r==0) if (la > lb) {r=1;} else if (la < lb) r = -1;
return r;
}
// 联接 类似strcat
void connect(char *a, char *b,char *c)
{
int i,la,lb;
la = length(a); lb = length(b);
for (i=0;i<la;i++) c[i]=a[i];
for (i=0;i<lb;i++) c[i+la]=b[i];
c[la+lb]=0;
}
int main(void)
{
char a[30],b[30],c[60];
int i,r;
printf("eneter 2 strings\n");
scanf("%s",a);
scanf("%s",b);
r = cmp(a, b);
if (r != 0) {
connect(a,b,c);
printf("%s\n",c);
} else {
printf("There are the same: %s\n",a);
}
return 1;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询