编写函数void fun(char *s,char *b,char *c),逐个比较a、b两个字符串对应位置中的字符,把ASCII值大或相
编写函数voidfun(char*s,char*b,char*c),逐个比较a、b两个字符串对应位置中的字符,把ASCII值大或相等的字符依次存放到c数组中,形成一个新的...
编写函数void fun(char *s,char *b,char *c),逐个比较a、b两个字符串对应位置中的字符,把ASCII值大或相等的字符依次存放到c数组中,形成一个新的字符串。例如,若a中的字符串为aBCDeFgH,b中的字符串为:ABcd,则c中的字符串应为:aBcdeFgH。
#include<stdio.h>
void fun(char *a,char *b,char *c)
{
}
void main()
{char s1[80],s2[80],s3[80];
gets(s1);
gets(s2);
fun(s1,s2,s3);
puts(s3);
} 展开
#include<stdio.h>
void fun(char *a,char *b,char *c)
{
}
void main()
{char s1[80],s2[80],s3[80];
gets(s1);
gets(s2);
fun(s1,s2,s3);
puts(s3);
} 展开
3个回答
展开全部
void fun(char *a,char *b,char *c)//字符默认以ascii比较大小,所以可以直接对字符比较大小
{int i,j,k=0;
for(i=0,j=0;a[i]!=0&&b[j]!=0;i++,j++)//字符串的结束字符是'/0',它的ascii码是0,所以结束条件是a[i]!=0
if(a[i]<b[j]) c[k++]=b[j];
else c[k++]=a[i];
}
if(a[i]!=0)//把剩下的并到c中
{ for(;a[i]!=0;i++)
c[k++]=a[i];
}
if(b[j]!=0)//把剩下的并到c中
{ for(;b[j]!=0;j++)
c[k++]=b[j];
}
这是一个典型的C语言二级机试题.
{int i,j,k=0;
for(i=0,j=0;a[i]!=0&&b[j]!=0;i++,j++)//字符串的结束字符是'/0',它的ascii码是0,所以结束条件是a[i]!=0
if(a[i]<b[j]) c[k++]=b[j];
else c[k++]=a[i];
}
if(a[i]!=0)//把剩下的并到c中
{ for(;a[i]!=0;i++)
c[k++]=a[i];
}
if(b[j]!=0)//把剩下的并到c中
{ for(;b[j]!=0;j++)
c[k++]=b[j];
}
这是一个典型的C语言二级机试题.
展开全部
void fun(char *a,char *b,char *c)
{
while((*a!='\0')&&(*b!='\0'))
{
if(*a>=*b)
{
*c = *a;
c++;
}
a++;
b++;
}
}
{
while((*a!='\0')&&(*b!='\0'))
{
if(*a>=*b)
{
*c = *a;
c++;
}
a++;
b++;
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
void fun(char *a,char *b,char *c)
{
int i;
int len;
len=strlen(a)<strlen(b)?strlen(b):strlen(a);
for(i=0;i<len;i++)
{
if(&a=='\0')
&(c+i)=&(b+i);
else if(&b=='\0')
&(c+i)=&(a+i);
else
&(c+i)=&(b+i)>&(a+i)?&(a+i):&(b+i);
}
}
{
int i;
int len;
len=strlen(a)<strlen(b)?strlen(b):strlen(a);
for(i=0;i<len;i++)
{
if(&a=='\0')
&(c+i)=&(b+i);
else if(&b=='\0')
&(c+i)=&(a+i);
else
&(c+i)=&(b+i)>&(a+i)?&(a+i):&(b+i);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询