从键盘输入字符串a和字符串b,并在a串中的最小元素(不含结束符)后面插入字符串b的C语言

2025-03-22 04:25:35
推荐回答(3个)
回答1:

#include
#include
#define size 100

void insert(char *s1,const char *source);
int main(int argc,char *argv[])//主函数
{
char s1[size]={0};
char source[size]={0};

puts("enter s1\ns1:");
fgets(s1,size,stdin);//从键盘获取字符串s1

puts("enter source\ns2:");
fgets(source,size,stdin);//从键盘获取字符串s2
int len_source=strlen(source);//删除S2最后的回车
if ( source[len_source-1] == '\n')
{
source[len_source-1]='\0';
}

insert(s1,source);
puts(s1);//打印新的s1
return 0;
}


void insert(char *s1,const char *source)
{
int len = strlen(s1),i,flg;
char min=s1[0];
for(i=0;i {
if ( min > s1[i])
{
min = s1[i];
flg = i+1;
}
}
char tmp_str[size]={0};
strcpy(tmp_str,s1+flg);//先把最小元素之后的字符拷贝到临时数组
strcpy(s1+flg,source);//从最小元素的位置把s2拷贝到s1
strcpy(s1+strlen(s1),tmp_str);//最后把s1最开始最小元素之前的字符(包括pos)重新拷到s1
}

回答2:

最小元素 是指的什么? 输入的都是0 - 9的数?
还是ASCII码中最小值的字符?

回答3:

什么叫做“最小”呢?是以字符的ascii码来衡量么?