
一道有关C语言数组的题目,因为是初学,实在不会做……谢谢了啊!!
(2)编程,完成在字符数组的指定位置(下标)处插入一个新字符,及删除指定位置(下标)处的一个字符。谢谢啦!!!对,就是不要原来的,换成现在的...
(2)编程,完成在字符数组的指定位置(下标)处插入一个新字符,及删除指定位置(下标)处的一个字符。
谢谢啦!!!
对,就是不要原来的,换成现在的 展开
谢谢啦!!!
对,就是不要原来的,换成现在的 展开
展开全部
如果是插入单个字符,可以从指定位置开始整体向后遗一位,然后在指定位置插入字符即可,
char arr[]="string";
int n;
char ch;
printf("input n");
scanf("%d",&n);//读取指定位置
printf("input a char")
scanf("%d",&ch);
for(int i=strlen(arr);i≤n;i )
arr[i 1]=arr[i];
arr[n]=ch;以上是插入的代码,有些细节未处理,手机打字不容易,删除的代码只要修改下即可,满意请采纳,谢谢!
char arr[]="string";
int n;
char ch;
printf("input n");
scanf("%d",&n);//读取指定位置
printf("input a char")
scanf("%d",&ch);
for(int i=strlen(arr);i≤n;i )
arr[i 1]=arr[i];
arr[n]=ch;以上是插入的代码,有些细节未处理,手机打字不容易,删除的代码只要修改下即可,满意请采纳,谢谢!
参考资料: 如果您的回答是从其他地方引用,请表明出处
展开全部
#include <stdio.h>
void Insert ( char *s, int n, char ch )
{
s += n;
while ( ch )
{
ch ^= *s;
*s ^= ch;
ch ^= *s++;
}
*s = 0;
}
void Delete ( char *s, int n )
{
s += n - 1;
while ( *++s != 0 )
*s = s[1];
}
int main ( void )
{
char s[1024] = "Hello World!";
Insert ( s, 5, '!' );
puts ( s );
Delete ( s, 5 );
puts ( s );
}
void Insert ( char *s, int n, char ch )
{
s += n;
while ( ch )
{
ch ^= *s;
*s ^= ch;
ch ^= *s++;
}
*s = 0;
}
void Delete ( char *s, int n )
{
s += n - 1;
while ( *++s != 0 )
*s = s[1];
}
int main ( void )
{
char s[1024] = "Hello World!";
Insert ( s, 5, '!' );
puts ( s );
Delete ( s, 5 );
puts ( s );
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
char str[N];
str[n] = 'a';//插入
str[n] = 0;//删除
str[n] = 'a';//插入
str[n] = 0;//删除
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询