当前位置:首页 » 编程语言 » c语言insert函数

c语言insert函数

发布时间: 2022-06-10 09:12:31

‘壹’ c语言编写函数insert(char s1[ ],char s2[ ],int pos),实现在字符串s1中的指定位置pos处插入字符串s2。

你写这个貌似不能实现额
用string.h库很容易实现的
要是你不能用string.h的话 你就再追问一次 我帮你把你这个改改 单貌似要改动的地方不少
#include <stdio.h>
#include <string.h>
void insert(char s1[],char s2[],int pos);
void main()
{
char s1[50],s2[50];
int pos;
gets(s1);
gets(s2);
printf("请选择要插入的位置: ");
scanf("%d",&pos);
insert(s1,s2,pos);
}
void insert(char s1[],char s2[],int pos)
{
int i,a,b;
char o[20];
b=0;
a=strlen(s1);
for(i=pos;i<a;i++)
{
o[b]=s1[i];
b++;
}
o[b++]='\0';
s1[pos]='\0';
strcat(s1,s2);
strcat(s1,o);
printf("%s",s1);

}

‘贰’ c语言编程 用指针编写函数:insert(s1,s2,f),其功能是在字符串s1中的指定位置f处插入字符串s2

#include<stdio.h>

intinsert(char*s1,char*s2,intf)
{
char*cp,*tcp;

tcp=s1+strlen(s1);
cp=s1+f;

if(tcp<cp)
return-1;

while(tcp>=cp)
{
*(tcp+strlen(s2))=*tcp;
tcp--;
}

while(*s2!='')
{
*cp=*s2;
cp++;
s2++;
}

return0;
}

intmain(void)
{
charstr1[128];
charstr2[128];
intf;

gets(str1);
gets(str2);
scanf("%d",&f);

insert(str1,str2,f);

puts(str1);

return0;
}

‘叁’ 编写一个函数insert(s1,s2,ch),实现在字符串s1中的指定字符ch位置处插入字符s2. 高财富哦

是这个意思吗?

C语言实现,insert函数未对传入字符串进行边界检测,如果传入数组已满,函数会更改在内存连续的地址上的未知内容,故需保证传入数组未满。如果要在函数中处理需增设一个参数传入数组长度进行判断,以下是代码,包括测试的主函数部分:

#include<stdio.h>
#include<string.h>
voidinsert(char*s1,chars2,charch)
{
char*pos;
char*insert_flag;
for(pos=s1;*pos!=''&&*pos!=ch;pos++);//在s1里寻找字符ch
if(''==*pos)
{
printf("未找到字符'%c'! ",ch);
return;
}
for(insert_flag=s1+strlen(s1);*insert_flag!=ch;insert_flag--)//从s1指向字符串的结束符开始元素依次后移
{
*(insert_flag+1)=*insert_flag;
}
*(insert_flag+1)=*insert_flag;
*insert_flag=s2;
}

voidmain()
{
chars[20]="hello,frind";//把20改为12则数组满
printf("插入前%s ",s);
if(strlen(s)!=sizeof(s)-1)
{
insert(s,'e','n');
printf("插入后%s ",s);
}
elseprintf("数组已满,拒绝插入! ");

}

测试:

‘肆’ C语言insert的用法

表示“插入”,它并不是C语言的一部分,用在函数名中可以表示插入元素。
例题:
#include
<iostream>
#include
<vector>
using
namespace
std;
int
main()
{
vector<int>
intArray;
int
i;
for(i=0;i<10;i++)
{
intArray.push_back(i);
cout<<intArray[i]<<"
";
}
cout<<endl;
intArray.insert(intArray.begin()+1,intArray.begin()+3,intArray.begin()+5);
for(i=0;i<intArray.size();i++)
cout<<intArray[i]<<"
";
system("pause");
return
0;
}

‘伍’ C语言程序设计题,insert函数怎么写

#include<stdio.h>
#include<string.h>
#include<stdlib.h>

intmain(){

chars[100]="Iamaboy.";
chart[50]="good";

voidinsert(chars[],intn,chart[]);

insert(s,8,t);
puts(s);

return0;
}

voidinsert(chars[],intn,chart[]){

intlengths=strlen(s);
intlengtht=strlen(t);
inti,j;

if(n>=lengths){
perror("Invalidindex. ");
exit(1);
}

chartail[lengths-n];
j=n;

for(i=0;;i++){
if(s[j]=='')
break;
tail[i]=s[j];
j++;
}

tail[i]='';
s[n]='';

s=strncat(s,t,lengtht);
s=strncat(s,tail,lengths-n);

}


运行结果如下:


‘陆’ C语言insert的用法,详细点哦

insert 只是一部分函数自带的功能 , 不能直接使用,一般是STL 里面函数的附加功能。比如说
vector #include <iostream>
#include <vector>
using namespace std;

int main()
{
vector<int> intArray;
int i;
for(i=0;i<10;i++)
{
intArray.push_back(i);
cout<<intArray[i]<<" ";
}

cout<<endl;
intArray.insert(intArray.begin()+1,intArray.begin()+3,intArray.begin()+5);

for(i=0;i<intArray.size();i++)
cout<<intArray[i]<<" ";

system("pause");
return 0;
}

‘柒’ insert(a,10,number)在c语言中什么意思

insert就名称来看一般是插入操作的函数,
一般来说a是插入的数组,10是插入的位置,number是插入位置的值

‘捌’ c语言链表插入一个新节点的函数问题

首先,主函数中,“请输入插入的数据”那里scanf应该是&b,这是引发崩溃的原因。

其次,insert函数的目的应该是想插入数据后仍是有序链表。但你的insert函数逻辑太乱,有些不必要的判断,我修正了你的代码,贴给你看看。(虽然你insert是想保证有序,但你在创建的时候没有保证有序,所以最终结果不一定是有序。例如,创建 1,5,2,插入3,最后输出的是 1,3,5,2)

代码修改:

  1. scanf("%d", &b);

  2. 重写了insert函数,简化逻辑;

  3. 动态分配的内存记得释放,增加freeNode释放空间

#include<stdio.h>
#include<stdlib.h>
structlink
{
intdata;
structlink*next;
};
structlink*add(structlink*head);//创建链表
voiddisplay(structlink*head);//输出数据
structlink*insert(structlink*head,intb);//插入新节点
voidfreeNode(structlink*); //释放空间
intmain()
{
charc;
structlink*head=NULL;
printf("要创建一个链表吗?");
scanf("%c",&c);
while(c=='y'||c=='Y')
{
head=add(head);
printf("要继续创建节点吗?");
scanf("%c",&c);
}
display(head);
intb;
printf("输入插入的数据");
scanf("%d",&b);
head=insert(head,b);
display(head);
freeNode(head);
}
structlink*add(structlink*head)
{
intdata;
structlink*p=(structlink*)malloc(sizeof(structlink));
if(head==NULL)
{
head=p;
}
else
{
structlink*pr=head;//一个临时指针pr先保存下head的地址
while(pr->next!=NULL)
{
pr=pr->next;
}
pr->next=p;
}
printf("输入数据");
scanf("%d",&p->data);
p->next=NULL;
returnhead;
}
voiddisplay(structlink*head)
{
structlink*pr=head;
while(pr!=NULL)
{
printf("%d ",pr->data);
pr=pr->next;
}
}
structlink*insert(structlink*head,intb)
{
structlink*ptr=head,*prev=head;
structlink*newNode=(structlink*)malloc(sizeof(structlink));
newNode->data=b;
while(ptr&&b>ptr->data){
prev=ptr;
ptr=ptr->next;
}
newNode->next=ptr;
if(ptr==head) head=newNode;
else prev->next=newNode;

returnhead;
}

voidfreeNode(structlink*node){
if(!node) return;
freeNode(node->next);
free(node);
}

‘玖’ insert_在C语言中是什么意思

表示“插入”,它并不是C语言的一部分,用在函数名中可以表示插入元素。

‘拾’ C语言,insert函数

我再Visualstudio下写的程序

#include<stdio.h>
#include<stdlib.h>
#defineDATATYPE1int
#defineMAXSIZE100

typedefstruct
{DATATYPE1datas[MAXSIZE];
intlast;
}SEQUENLIST;

SEQUENLISTa;

intinsert(SEQUENLIST&a,DATATYPE1x,inti)
{
intk;
if(i<1||i>a.last+1||a.last>=MAXSIZE)
return0;
else
{
for(k=a.last;k>=i;k--)
a.datas[k]=a.datas[k-1];
a.datas[i-1]=x;
a.last=a.last+1;
for(i=0;i<a.last;i++)
printf("%d",a.datas[i]);
printf(" ");
printf("a.last=%d ",a.last);
return1;
}
}

intDelete(SEQUENLIST&a,inti)
//C++中的引用,不然该函数返回后,原来的结构体并未发生变化
{
intk;
if(i<1||i>a.last+1||a.last>=MAXSIZE)
return0;
else
{
for(k=i-1;k<a.last;k++)
a.datas[k]=a.datas[k+1];
a.last--;
for(i=0;i<a.last;i++)
printf("%d",a.datas[i]);
printf(" ");
printf("a.last=%d ",a.last);
}
}
intmain()
{
inti;
for(i=0;i<10;i++)
a.datas[i]=i+1;
a.last=10;
insert(a,99,5);
Delete(a,1); //删除第一个元素
system("pause");
return0;
}

热点内容
节目脚本是什么 发布:2025-02-08 02:08:54 浏览:139
android的自定义属性 发布:2025-02-08 02:07:27 浏览:605
怎么看电脑的用户名和密码 发布:2025-02-08 02:02:48 浏览:796
vb动态数据库 发布:2025-02-08 02:01:53 浏览:111
一台存储可以配几个扩展柜 发布:2025-02-08 01:53:22 浏览:566
分布式存储技术优缺点 发布:2025-02-08 01:51:37 浏览:245
linuxsuse重启 发布:2025-02-08 01:49:27 浏览:412
java对称加密 发布:2025-02-08 01:48:04 浏览:523
java报表框架 发布:2025-02-08 01:47:59 浏览:930
方舟手游怎么防止踢出服务器 发布:2025-02-08 01:42:44 浏览:690