用c语言使用字符指针编写程序,输入一个长度为n的字符串a,在字符串a的i (0<i<n)处插入字符x,输出插入后的字符串a。(n,x,i的值可自由输入)。
时间: 2023-12-03 11:45:19 浏览: 195
以下是用 C 语言编写的程序,实现在字符串 a 的 i 处插入字符 x 并输出插入后的字符串 a:
```
#include <stdio.h>
#include <string.h>
int main() {
char a[100], x;
int n, i;
printf("请输入字符串 a:");
scanf("%s", a);
printf("请输入要插入的字符 x:");
scanf(" %c", &x);
printf("请输入要插入的位置 i:");
scanf("%d", &i);
n = strlen(a);
if (i < 0 || i > n) {
printf("位置 i 不合法!");
return 0;
}
for (int j = n; j > i; j--) {
a[j] = a[j - 1];
}
a[i] = x;
printf("插入后的字符串 a 为:%s", a);
return 0;
}
```
程序中通过 `scanf()` 分别读取字符串 a、要插入的字符 x 和要插入的位置 i。使用 `strlen()` 函数获取字符串 a 的长度 n,并判断位置 i 是否合法。如果位置 i 不在 [0, n) 范围内,则输出错误信息并结束程序。否则,使用循环将位置 i 右侧的所有字符向右移动一位,然后将字符 x 插入到位置 i 处,并输出插入后的字符串 a。
阅读全文