编程题目:键盘输入一个字符串a,并在a中最大元素的后边插入自定义字符串b。
#include
#include
int main()
{
char array[21],temp[21];
char arrray_two[] = "ab";
char max = '\0';
int len_two = strlen(arrray_two);//计算array_two的长度
int len_one,b,c=0,label[20],k,n = 0,len = 0;
printf("请输入一个字符串,不可超过20个字符\n");
scanf("%s",array);//给字符数组array赋值
len_one = strlen(array);//计算array字符数组的长度
for(int i = 0; i
{
if( array[i] > max )
{
max = array[i];
b = i;
}
}
/*****根据最大元素的下标,在array中寻找到相同的最大元素,
并保存到数组label中
********** */
for(int i = 0;i
{
if( array[b] == array[i])
{
c++;//计算有多少个相同的最大元素
label[n] = i;
n++;//数组标号自动加一
}
}
/****
进行数组array 与数组array_two 拼接
*****/
for ( int j= 0;j
{
k = label[j] + len;//最大元素的后一个坐标
strcpy(temp,&array[k+1]);//将最大元素的后面数据保存到数组temp中
array[k+1] = '\0';//将最大元素的后一个内容赋予结束符'\0'
strcat(array,arrray_two);//将"ab"拼接到array最大元素的后面
strcat(array,temp);//将temp保存的内容 拼接回array数组中
len += 2;//由于"ab"插入后,数组后面的下标增加2
}
printf("最大元素拼接后为\n");
printf("%s\n",array);
return 0;
}
领取专属 10元无门槛券
私享最新 技术干货