如何在我的C语言程序中插入库函数

Python019

如何在我的C语言程序中插入库函数,第1张

int

add(int

x,int

y)

int

sub(int

x,int

y)

int

mul(int

x,int

y)

int

div(int

x,int

y)

#include

<math.h>

#include

<stdio.h>

void

main()

{

int

a,b,c,d,e,f,g,h,i

printf("XXXXXXXXXXXXXXX计算器")

printf("\n")

for(c=1c<=30c++)

printf("*")

printf("\n")

printf("请输入一个整数")

printf("\n")

scanf("%d",&a)

printf("\n")

for(c=1c<=30c++)

printf("-")

printf("\n")

printf("请选择您要做的运算:1.+,2.-,3.*,4./5.abs,6.sqrt")

printf("\n")

for(c=1c<=30c++)

printf("*")

printf("\n")

scanf("%d",&d)

printf("\n")

if(d==5)

{printf("%d",abs(a))goto

end}(如果想做绝对值,就直接做abs函数(它是个库函数).做完后就goto"end"--也就是函数的最后.)

if(d==6)

{printf("%.2f",sqrt(a))goto

end}}(如果想做开平方,就直接做sqrt函数(它是个库函数).做完后就goto"end"--也就是函数的最后.)

printf("请再次输入一个整数")

(如果是做双目的就开始输入第二个数b)

printf("\n")

scanf("%d",&b)

printf("\n")

switch(d)

{

case

1:add(a,b)break

case

2:sub(a,b)break

case

3:mul(a,b)break

case

4:div(a,b)break

default:printf("date

input

error!\n")

}

end:

printf("\n")}

int

add(int

x,int

y)

{

int

m

m=x+y

printf("%d",m)

return

m

}

int

sub(int

x,int

y)

{

int

m

m=x-y

printf("%d",m)

return

m

}

int

mul(int

x,int

y)

{

int

m

m=x*y

printf("%d",m)

return

m

}

int

div(int

x,int

y)

{

int

m

m=x/y

printf("%d",m)

return

m

}

(你试试看吧!应该可以!呵呵)

程序的大体思路可以是这样:

str1是原字符串,str2是待插入的字符串,position是待插入的位置,我们可以这样,用一个指针p_cur指向字符串1 str1中的待插入位置position,另一个指针p_end指向字符串1 str1的尾部,每次插入字符前,把str1中从当前位置开始一直到结束字符全部后移一个位置,空出当前位置,然后把要插入的字符放进这个位置,这样就完成了一个字符的插入,重复这个步骤,直到str2被完全插入。

代码如下:

#include <stdio.h>

#include <string.h>

void insert_str(char str1[],char str2[],int position)

{

/*

insert_str()函数

功能:将字符串str2插入到str1的position位置处

参数:char str1,char str2 ,int position

返回值:无

*/

int i

char *p_end,*p_cur,*p/*p_end指向第一个字符串的尾部,p_cur指向被插入的位置*/

p_end=str1+strlen(str1)-1

p_cur=str1+position-1

for(i=0str2[i]!='\0'i++)

{

for(p=p_endp>=p_curp--)

{

*(p+1)=*p/*从p_cur到p_end的全部元素后移一个位置,此时p_cur指向的位置就空出来了*/

}

*p_cur=str2[i]/*把字符串2中的字符插入空出来的位置*/

p_cur++/*p_cur下移一个位置*/

p_end++/*多了一个字符,因此p_end也下移一个位置*/

}

}

void main()

{

char s1[100],s2[20]

int position

printf("输入字符串1:\n")

gets(s1)

printf("输入插入位置:")

do

{

scanf("%d",&position)

while(getchar()!='\n')/*这一句可以把输入position的时候输入的回车去掉*/

}while(position<0||position>strlen(s1))

printf("输入字符串2:\n")

gets(s2)

insert_str(s1,s2,position)

printf("字符串被插入后变成:\n")

puts(s1)

}

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

例题:

#include <iostream>

#include <vector>

using namespace std

int main()

{

vector<int>intArray

int i

for(i=0i<10i++)

{

intArray.push_back(i)

cout<<intArray[i]<<" "

}

cout<<endl

intArray.insert(intArray.begin()+1,intArray.begin()+3,intArray.begin()+5)

for(i=0i<intArray.size()i++)

cout<<intArray[i]<<" "

system("pause")

return 0

}