#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
}
最小元素 是指的什么? 输入的都是0 - 9的数?
还是ASCII码中最小值的字符?
什么叫做“最小”呢?是以字符的ascii码来衡量么?