编写函数void fun(char *s,char *b,char *c)

逐个比较a、b两个字符串对应位置中的字符,把ASCII值大或相等的字符依次存放到c数组中,形成一个新的字符串。例如,若a中的字符串为aBCDeFgH,b中的字符串为:ABcd,则c中的字符串应为:aBcdeFgH。
请用c语言编写

void fun(char *s,char *b,char *c)
{
char u;
for (int i = 0; i < strlen(s); i++)
{
c[i] = s[i];
}
for (int i = 0; i <strlen(b); i++)
{
c[strlen(s)+i] = b[i];
}
for (int i = 0; i <strlen(c); i++)
{
for (int j= i+1; j<strlen(c); j++)
{
if (c[i]<=c[j])
{
u = c[j];
c[j] = c[i];
c[i] = u;
}
}
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-06-21
#include<string.h>
#include<stdio.h>
#include<stdlib.h>

void fun(char* a,char* b,char* c)
{
int lenA=strlen(a);
int lenB=strlen(b);

int i,indexC=0;
for(i=0;i<lenA;i++)
{
if(i<lenB-1)
{
if(a[i]>=b[i])c[indexC++]=a[i];
else c[indexC++]=b[i];
}
else c[indexC++]=a[i];
}
if(i<lenB-1)
for(;i<lenB;i++)c[indexC++]=b[i];

}

void main()
{
char* a="aBCDeFgH";
char* b="ABcd";
char* c=(char*)malloc(strlen(a)+strlen(b));

fun(a,b,c);

printf("%s\n",c);
free(c);
}

相关了解……

你可能感兴趣的内容

大家正在搜

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网