西安交通大学实验报告.docx
- 文档编号:25102417
- 上传时间:2023-06-05
- 格式:DOCX
- 页数:14
- 大小:475.35KB
西安交通大学实验报告.docx
《西安交通大学实验报告.docx》由会员分享,可在线阅读,更多相关《西安交通大学实验报告.docx(14页珍藏版)》请在冰豆网上搜索。
西安交通大学实验报告
西安交通大学实验报告
课程计算机程序设计实验名称C++集成开发环境的使用第1页共10页
系别_______电气学院___________实验日期2011年3月24日
专业班级____钱学森02____组别_____________实验报告日期2011年3月24日
姓名____杨帆_______学号__**********报告退发(订正、重做)
同组人_________________________________教师审批签字
一.实验目的
二.
(1)掌握集成开发环境的使用方法;
三.
(2)了解C++程序的基本特点。
二.实验内容
(-)实验题目一:
编写字符串反转函数mystrrev().
1.要点分析
略
2.程序源代码
#include
#include
#include
usingnamespacestd;
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];
inti,n;
cout<<"请输入一个字符串:
";
cin.get(s,20);
n=strlen(s);
cout<<"改变之前的字符串为:
";
for(i=0;i<=n-1;i++)
cout<
mystrrev(s);
cout< "; for(i=0;i<=n-1;i++) cout< cout< return0; } 3.实验结果 (二)实验题目二: 编写一组求数组中最大最小元素的函数,同时写出主函数来检验之。 1.要点分析 略 2.程序源代码 #include usingnamespacestd; intimax(intarray[],intcount) { inti,max; max=array[0]; for(i=0;i<=count-1;i++) if(array[i]>max) max=array[i]; returnmax; } intimin(intarray[],intcount) { inti,min; min=array[0]; for(i=0;i<=count-1;i++) if(array[i] min=array[i]; returnmin; } main() { constintnum=10; inta[num]; inti,j,n; cout<<"请输入一个"< "< for(i=0;i<=num-1;i++) cin>>a[i]; cout<<"此数组中最大的元素为: "< cout<<"此数组中最小的元素为: "< return0; } 3.实验结果 (三)实验题目三 编写程序isprime(inta)用来判断变量a是否为素数,用该函数找出任意给定的n个整数中的素数。 要点分析 略 1.程序源代码 #include #include usingnamespacestd; intisprime(inta) { inti; if(a==1)return0; for(i=2;i<=sqrt(a);i++) { if(a%i==0) return0; } return1; } main() { inti; constm=5; intn[m]; cout<<"请输入"< "; for(i=0;i<=m-1;i++) cin>>n[i]; cout<<"以上几个数中的质数有: "; for(i=0;i<=m-1;i++) if(isprime(n[i])==1) cout< cout< return0; } 2.实验结果 (四)实验题目四 用弦截法求一元方程f(x)=0在区间(X0,X1)之间的一个根。 1.要点分析 略 2.程序源代码 #include #include usingnamespacestd; doublea[10]; intn; doublef(doublex) { doublef; inti; 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; cout< }while(fabs(f(x2))>t); returnx2; } main() { inti; doublex0,x1; cout<<"请输入方程最高次项的次数: "; cin>>n; cout<<"请依次输入方程各项的系数,格式为: "< for(i=n;i>=1;i--) cout<<"a["< cout<<"a[0]=0"< for(i=n;i>=0;i--) cin>>a[i]; cout<<"请输入求根的范围: Xo cout<<"Xo="; cin>>x0; cout<<"X1="; cin>>x1; if(f(x0)*f(x1)<0) cout<<"X="< else cout<<"该方程在("< "< return0; } 3.实验结果 (五)实验题目五 编写计算平方根函数,并加以测试检验。 提示: 采用牛顿迭代法,计算精度10-7。 函数原型: doublenmysqrl(doublex) 1.要点分析 略 2.程序源代码 #include usingnamespacestd; #include doublemysqrt(doublex) { doublex1,x2,t; x1=1; x2=1; t=1E-7; while((fabs(x1*x1-x)>t)||(fabs(x1-x2)>t)) { x1=x2-(x1*x1-x)/(2*x1); x2=x1; } returnx1; } main() { doublen; cout<<"请输入n: "; cin>>n; cout<<"sqrt("< return0; } 3.实验结果 (六)实验题目六 编写函数判定一个正整数是否是递增数,即该数各位数字从左至右递增排列,例如: 1122334、123456、5599、22222222等都是递增数。 例如: 32768、43987、123498都不是递增数。 显示输出0至9999999之间所有递增数。 1.要点分析 略 2.程序源代码 #include #include #include usingnamespacestd; intp(longn) { inta[10]; inti,num; num=int(log10(n))+1; a[0]=n%10; for(i=1;i<=num;i++) { a[i]=int(n/pow(10,i))%10;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 西安交通大学 实验 报告