c语言 向字符串中插入字符并排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言 向字符串中插入字符并排序相关的知识,希望对你有一定的参考价值。

(1)从键盘用gets函数输入从小到大有序排列的字符串(不多于80个字符)后,再将字符‘k’插入其中,使其仍然有序。
如输入:acfhhlprsyz,则输出:acfhhklprsyz。
(2)从键盘输入一个所含字符从小到大有序排列的字符串(不多于40个字符)后,再输入一个字符插入其中,使其仍然有序,然后输出。例如:
输入:#255BKacfhhlprsyz
再输入:G
输出:#255BGKacfhhlprsyz

/*添加注释,排序子程序,插入子程序*/
#include<stdio.h>
#include<string.h>
/*交换两个字符子程序*/
void swap(char *num1,char *num2)

char ch;
ch = *num1;
*num1 = *num2;
*num2 = ch;

/*排序子程序由小及大*/
void pai_xu(char *p)

int i,j,len;
len = strlen(p);
for(i = 0;i < len -1;i++)
for(j = i+ 1;j < len;j++)
if(p[i] > p[j])swap(&p[i],&p[j]);



/*插入子程序,返回新字符串的长度*/
int cha_ru(char *src,char wait)

char *pointer;
int len;
len = strlen(src);
pointer = src + len + 1;
*pointer = '\0';
pointer -= 2;
while(pointer >= src)
if(*pointer >= wait) *(pointer+1) = *pointer;
else
*(pointer+1) = wait;break;

pointer--;

if(pointer < src) *(pointer+1) = wait;
return len+1;


/************************主函数*****************************/
int main(void)

char ch,a[80],*p;
int i,len;
printf("\n输入一个字符串:\n");
gets(a); /*输入字符串*/
pai_xu(a);/* 排序子程序*/
printf("%s\n",a);
printf("\n请输入待插入的字符:\n");
scanf("%c",&ch);
cha_ru(a,ch);
printf("\n%s\n",a);
return 0;
参考技术A #include "stdio.h"
#include "string.h"
void main()

char s[80];
char s2[81];
int j = 0,m =0;
gets(s);
for(int i = 0;i <=20;i++,j++)

if(s[i] > 'k' && m == 0)

s2[j] = 'k';
j++;
s2[j] = s[i];
m++;

else
s2[j] = s[i];

cout<<s2;


/////////////////////////////
#include "stdio.h"
#include "string.h"
#include "iostream.h"
void main()

char s[80];
char s2[81];
char s3;
int j = 0,m =0;
gets(s);
scanf("%c",&s3);
for(int i = 0;i <=20;i++,j++)

if(s[i] > s3 && m == 0)

s2[j] = s3;
j++;
s2[j] = s[i];
m++;

else
s2[j] = s[i];

cout<<s2;

以上是关于c语言 向字符串中插入字符并排序的主要内容,如果未能解决你的问题,请参考以下文章

c语言用指针将一个字符串插入另一个字符串中指定位置

C语言 精典排序算法程序合集

C语言 精典排序算法程序合集

C语言 精典排序算法程序合集

c语言用指针法在一个字符串的指定位置插入一个字符串

python 语言编写程序,输入字符串,为其每个字符的 ASCLL码形成列表并输出。