西安交通大学实验报告15pWord格式.docx
- 文档编号:8161121
- 上传时间:2023-05-10
- 格式:DOCX
- 页数:12
- 大小:457.15KB
西安交通大学实验报告15pWord格式.docx
《西安交通大学实验报告15pWord格式.docx》由会员分享,可在线阅读,更多相关《西安交通大学实验报告15pWord格式.docx(12页珍藏版)》请在冰点文库上搜索。
voidmystrrev(charstring[])
{
inti,n;
charp;
n=strlen(string);
for(i=0;
i<
=int(n/2-1);
i++)
{
p=string[i];
string[i]=string[n-1-i];
string[n-1-i]=p;
}
}
main()
chars[20];
cout<
<
"
请输入一个字符串:
"
;
cin.get(s,20);
n=strlen(s);
改变之前的字符串为:
=n-1;
s[i];
mystrrev(s);
endl<
改变之后的字符串为:
endl;
return0;
3.实验结果
(二)实验题目二:
编写一组求数组中最大最小元素的函数,同时写出主函数来检验之。
intimax(intarray[],intcount)
inti,max;
max=array[0];
=count-1;
if(array[i]>
max)
max=array[i];
returnmax;
intimin(intarray[],intcount)
inti,min;
min=array[0];
if(array[i]<
min)
min=array[i];
returnmin;
main()
constintnum=10;
inta[num];
inti,j,n;
请输入一个"
num<
个数的数组:
=num-1;
cin>
>
a[i];
此数组中最大的元素为:
imax(a,num)<
此数组中最小的元素为:
imin(a,num)<
return0;
(三)实验题目三
编写程序isprime(inta)用来判断变量a是否为素数,用该函数找出任意给定的n个整数中的素数。
要点分析
1.程序源代码
cmath>
intisprime(inta)
inti;
if(a==1)return0;
for(i=2;
i<
=sqrt(a);
i++)
if(a%i==0)
return0;
return1;
constm=5;
intn[m];
请输入"
m<
个正整数:
=m-1;
cin>
n[i];
以上几个数中的质数有:
if(isprime(n[i])==1)
cout<
n[i]<
2.实验结果
(四)实验题目四
用弦截法求一元方程f(x)=0在区间(X0,X1)之间的一个根。
#include<
doublea[10];
intn;
doublef(doublex)
doublef;
f=0;
for(i=n;
i>
=0;
i--)
f+=a[i]*pow(x,i);
returnf;
doublex(doublex0,doublex1)
doublet,x2;
t=1E-7;
do
x2=(x0+f(x0)*(x0-x1)/(f(x1)-f(x0)));
if(f(x2)*f(x0)>
=0)
x0=x2;
else
x1=x2;
f(x2)<
}while(fabs(f(x2))>
t);
returnx2;
doublex0,x1;
请输入方程最高次项的次数:
n;
请依次输入方程各项的系数,格式为:
=1;
a["
]X^"
+"
a[0]=0"
cout<
请输入求根的范围:
Xo<
X<
X1"
Xo="
x0;
X1="
x1;
if(f(x0)*f(x1)<
0)
X="
x(x0,x1)<
该方程在("
x0<
,"
x1<
)区间上无解或有多个解!
(五)实验题目五
编写计算平方根函数,并加以测试检验。
提示:
采用牛顿迭代法,计算精度10-7。
函数原型:
doublenmysqrl(doublex)
doublemysqrt(doublex)
{
doublex1,x2,t;
x1=1;
x2=1;
while((fabs(x1*x1-x)>
t)||(fabs(x1-x2)>
t))
x1=x2-(x1*x1-x)/(2*x1);
x2=x1;
}
returnx1;
doublen;
请输入n:
sqrt("
n<
)="
mysqrt(n)<
(六)实验题目六
编写函数判定一个正整数是否是递增数,即该数各位数字从左至右递增排列,例如:
1122334、123456、5599、22222222等都是递增数。
例如:
32768、43987、123498都不是递增数。
显示输出0至9999999之间所有递增数。
1.要点分析
2.程序源代码
math.h>
fstream>
intp(longn)
inta[10];
inti,num;
num=int(log10(n))+1;
a[0]=n%10;
for(i=1;
=num;
a[i]=int(n/pow(10,i))%10;
if(a[i-1]<
a[i])
return0;
ofstreamout("
递增数"
);
=9999999;
if(p(i)==1)
out<
out.close();
3.实验结果
个人小结
本次试验出现了许多困扰我的地方,好在通过请教老师和查阅课本都逐一解决了。
本次试验我初步接触了文件的输出,并发现了以文件方式输出结果在一些需要大量输出的程序中的重要性。
不足:
还是感觉第四题不够完善,当函数在(X0,X1)内有2个或后两个以上解时不能很好的处理结果~
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 西安交通大学 实验 报告 15