1、西安交通大学实验报告西安交通大学实验报告课程计算机程序设计实验名称C+集成开发环境的使用第 1 页 共 10 页系 别_电气学院_ 实 验 日 期 2011 年3 月 24 日专业班级_钱学森02_组别_ 实 验 报 告 日 期 2011 年 3 月24日姓 名_杨帆_学号_52报 告 退 发 ( 订正 、 重做 )同 组 人_ 教 师 审 批 签 字 一. 实验目的二. (1)掌握集成开发环境的使用方法;三. (2)了解+程序的基本特点。二 实验内容()实验题目一: 编写字符串反转函数mystrrev( ). 1 要点分析略2 程序源代码 #include #include #include
2、 using namespace std;void mystrrev(char string) int i,n; char p; n=strlen(string); for (i=0; i=int(n/2-1); i+) p=stringi; stringi=stringn-1-i; stringn-1-i=p; main () char s20; int i,n; cout请输入一个字符串: ; (s,20); n=strlen(s); cout改变之前的字符串为:; for (i=0; i=n-1; i+) coutsi; mystrrev(s); coutendl改变之后的字符串为:;
3、for (i=0; i=n-1; i+) coutsi; coutendl; return 0;3 实验结果 (二)实验题目二: 编写一组求数组中最大最小元素的函数,同时写出主函数来检验之。1 要点分析略2 程序源代码 #include using namespace std;int imax(int array,int count) int i,max; max=array0; for (i=0; imax) max=arrayi; return max;int imin(int array,int count) int i,min; min=array0; for (i=0; i=coun
4、t-1; i+) if (arrayimin) min=arrayi; return min;main() const int num=10; int anum; int i,j,n; cout请输入一个num个数的数组:endl; for (i=0; iai; cout此数组中最大的元素为:imax(a,num)endl; cout此数组中最小的元素为:imin(a,num)endl;return 0;3 实验结果(三)实验题目三 编写程序 isprime(int a)用来判断变量a是否为素数,用该函数找出任意给定的n个整数中的素数。要点分析略1 程序源代码 #include #includ
5、e using namespace std;int isprime(int a) int i; if (a=1) return 0; for (i=2;i=sqrt(a);i+) if (a%i=0) return 0; return 1;main() int i; const m=5; int nm; cout请输入m个正整数:; for (i=0; ini; cout以上几个数中的质数有:; for (i=0; i=m-1; i+) if (isprime(ni)=1) coutni ; coutendl; return 0; 2 实验结果(四)实验题目四 用弦截法求一元方程f(x)=0在
6、区间(X0,X1 )之间的一个根。1 要点分析略2 程序源代码 #include #includeusing namespace std;double a10;int n;double f(double x) double f; int i; f=0; for (i=n; i=0; i-) f+=ai*pow(x,i); return f;double x(double x0,double x1) double t,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; co
7、utf(x2)t); return x2;main() int i; double x0,x1; coutn; cout请依次输入方程各项的系数,格式为:=1; i-) coutaiXi+; couta0=0=0; i-) cinai; cout 请输入求根的范围:XoXX1endl; coutx0; coutx1; if (f(x0)*f(x1)0) coutX=x(x0,x1)endl; else cout该方程在(x0,x1)区间上无解或有多个解!endl; return 0; 3 实验结果 (五)实验题目五 编写计算平方根函数,并加以测试检验。提示:采用牛顿迭代法,计算精度10-7。函
8、数原型:doublen mysqrl ( double x )1 要点分析略2 程序源代码 #include using namespace std;#include double mysqrt(double x) double x1,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; return x1;main() double n; coutn; coutsqrt(n)=mysqrt(n)endl; return 0;3 实验结果(六)实验题目六编
9、写函数判定一个正整数是否是递增数,即该数各位数字从左至右递增排列,例如:1122334、123456、5599、等都是递增数。例如:32768、43987、123498都不是递增数。显示输出0至9999999之间所有递增数。1. 要点分析略2. 程序源代码 #include #include #include using namespace std;int p(long n) int a10; int i,num; num=int(log10(n)+1; a0=n%10; for (i=1; i=num; i+) ai=int(n/pow(10,i)%10; if (ai-1ai) return 0; return 1;main () int i; ofstream out (递增数); for (i=1; i=9999999; i+) if (p(i)=1) outi ; (); return 0;3. 实验结果 个人小结本次试验出现了许多困扰我的地方,好在通过请教老师和查阅课本都逐一解决了。本次试验我初步接触了文件的输出,并发现了以文件方式输出结果在一些需要大量输出的程序中的重要性。不足:还是感觉第四题不够完善,当函数在(X0,X1 ) 内有2个或后两个以上解时不能很好的处理结果
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1