c++0210757Word格式文档下载.docx

上传人:b****6 文档编号:21049767 上传时间:2023-01-27 格式:DOCX 页数:11 大小:137.13KB
下载 相关 举报
c++0210757Word格式文档下载.docx_第1页
第1页 / 共11页
c++0210757Word格式文档下载.docx_第2页
第2页 / 共11页
c++0210757Word格式文档下载.docx_第3页
第3页 / 共11页
c++0210757Word格式文档下载.docx_第4页
第4页 / 共11页
c++0210757Word格式文档下载.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

c++0210757Word格式文档下载.docx

《c++0210757Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《c++0210757Word格式文档下载.docx(11页珍藏版)》请在冰豆网上搜索。

c++0210757Word格式文档下载.docx

{

if(k==0)

return1;

else

returnpower(x,k-1)*x;

}

intmain()

doublex1;

intk1;

cout<

<

"

请输入任意给定的实数x和整数k"

;

cin>

>

x1>

k1;

x1<

的"

k1<

次方是:

power(x1,k1)<

endl;

return0;

3.实验结果

(二)实验题目二:

第7章第3题

1要点分析:

构造递归函数。

2程序源代码:

#include<

intfib(intn)

if(n==0)

return0;

elseif(n==1)

returnfib(n-1)+fib(n-2);

intn;

请输入待求的数列的项数:

n;

数列的第"

n<

项是:

fib(n)<

3实验结果:

(三)实验题目三:

第7章第5题

按照不同的参数和返回值,设计不同的一组同名函数,使用时直接把相应的数据带入即可。

intmax(intx,inty)

return(x>

y)?

x:

y;

doublemax(doublex,doubley)

charmax(charx,chary)

intm1=5,m2=3;

doubled1=12.2,d2=43.2;

charc1='

a'

c2='

b'

m1<

和"

m2<

中的最大值是:

max(m1,m2)<

d1<

d2<

max(d1,d2)<

c1<

c2<

max(c1,c2)<

(四)实验题目四:

第7章第7题

定义一个指向字符的指针并判断字符串前面是否有空格,若有,继续向后判断直到第一个非空格的字符出现,将从该指针开始的字符串复制到原字符串即可。

cstring>

char*myltrim(char*string)

char*ptr=string;

while(*ptr=='

'

ptr++;

strcpy(string,ptr);

returnstring;

charstr[]="

theartofcomputerprogramming"

截取空格前的原始字符是:

["

str<

'

]'

截取空格后的字符串是:

myltrim(str)<

str;

五.实验题目五:

第7章第9题

指向函数的指针的说明与使用。

cmath>

doubleequation(double(*func)(double),doublea,doubleb,doubleeps)

doublex;

do

{

x=(a+b)/2;

if(func(x)*func(a)>

0)

a=x;

else

b=x;

}while(fabs(func(x))>

eps);

returnx;

doublef1(doublex)

returnx*x+2*x-3;

doublea,b;

doubleeps=1.0e-7;

请输入区间的两个端点:

a>

b;

结果是:

equation(f1,a,b,eps)<

六.实验题目六:

将数字、小数点、正负号组成的字符串转换成相应的实数,例如:

-3.14159"

变成-3.14159。

函数原型如下:

doublemyatof(char*num);

要求编写主函数加以测试。

程序源代码:

doublemyatof(char*num)

intn=1;

doublex=0.0,y=0.0;

if(*num=='

-'

n=-1;

num++;

}

+'

n=1;

while(*num!

=0&

&

*num>

='

0'

*num<

9'

x=x*10+*num-'

n*x;

if(*num=='

.'

{

num++;

n=1;

While(*num!

y=y*10+*num-'

chara[20],*p=a;

请输入待转换的字符:

a;

转换后的结果是:

myatof(p);

return0;

实验结果:

七.实验题目七:

在字符串T中查找子串S,若找到,返回子串的个数,若找不到返回0。

#include<

intstrchr(char*t,char*s)

inti=0;

char*q=s,*p;

while(*t!

=0)

p=t;

while(*q!

=0)

{

if(*p==*q)

{

p++;

q++;

}

elsebreak;

if(*q==0)

i++;

q=s;

t++;

returni;

chart[50],s[20],*p=t,*q=s;

请输入被查找的字符串:

cin.get(t,50);

请输入要查找的字符串:

s;

查找的字符串个数是:

strchr(p,q)<

三.个人小结

本次上机实验做的是函数与指针的应用,遇到了较多困难。

首先不能完全理解指针的含义,在运用的过程中出现定义错误。

其次在实验中不能很好的运用指针去简化算法。

有时在编写程序的过程中由于涉及到的指针变量有点多,不能很好的理解各个变量所代表的含义,这就造成了程序在理解上的障碍。

另外有许多疑问:

指向函数的指针,它的意义是什么?

只是表示存储函数的地址吗?

还有定义了一个指针*ptr,那么为什么在输出时输出ptr和*ptr有区别?

它们的含义分别是什么呢?

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1