问题是编写函数实现在字符数组w中插入字符x。函数原型为void fun(char *w, char *x, int *n)说明:1)假设w数组中的数已按照从小到大递增有序。2)n指向数组元素个数整型变量。3)插入x后数组中数据元素仍然递增有序。
#include <stdio.h>
void fun(char* w, char x, int* n)
{
int i, p;
p = 0;
w[*n] = x;
while (x > w[p])
p++;
for (i = *n; i > p; i--)
w[i] = *(w + i - 1);
w[p] = x;
++* n;
}
#include <stdio.h>
void fun(char* w, char *x, int* n)
{
for( int i = *n ; w[i] != '\0' ; i++ ){
w[i+1] = w[i];
}
w[*n] = *x;
}
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void fun(char* w, char x, int *n)
{
int i,p;
p=0;
w[*n] = x;
while (x > w[p])p++;
for (i = *n; i > p; i--) w[i] = w[i-1];
w[p] = x;
++ *n;
}
int main() {
char* a = (char*)malloc(7);
const char c[8] = "abcdefh";
strcpy(a,c);
char b = 'g';
int *n = (int *)malloc(4);
*n = 8;
fun(a,b,n);
printf("%s",a);
return 0;
}