资源描述:
《计算方法与实习上机题答案.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、......实习题11用两种不容的顺序计算,分析误差的变化(1)顺序计算源代码:#include#includevoidmain(){doublesum=0;intn=1;while(1){sum=sum+(1/pow(n,2));if(n%1000==0)printf("sun[%d]=%-30f",n,sum);if(n>=10000)break;n++;}printf("sum[%d]=%f",n,sum);}结果:专业.专注.......(2)逆序计算
2、源代码:#include#includevoidmain(){doublesum=0;intn=10000;while(1){sum=sum+(1/pow(n,2));if(n%1000==0)printf("sum[%d]=%-30f",n,sum);if(n<=1)break;n--;}printf("sum[%d]=%f",n,sum);专业.专注.......}结果:2已知连分数利用下面的方法计算f:写一个程序,读入n,,计算并打印f源代码:#incl
3、ude#includevoidmain(){inti=0,n;floata[1024],b[1024],d[1024];专业.专注.......printf("pleaseinputn,n=");scanf("%d",&n);printf("pleaseinputa[1]toa[n]:");for(i=1;i<=n;i++){printf("a[%d]=",i);scanf("%f",&a[i]);}printf("pleaseinputb[0]tob
4、[n]:");for(i=0;i<=n;i++){printf("b[%d]=",i);scanf("%f",&b[i]);}d[n]=b[n];for(i=n-1;i>=0;i--)d[i]=b[i]+a[i+1]/d[i+1];printf("f=%f",d[0]);}结果:专业.专注.......3给出一个有效的算法和一个无效的算法计算积分源代码:#include#includemain(){doubley_0=(1/4.0)*log(5),y_
5、1;doubley_2=(1.0/55.0+1.0/11.0)/2,y_3;intn=1,m=10;printf("有效算法输出结果:");printf("y[0]=%-20f",y_0);while(1)专业.专注.......{y_1=1.0/(4*n)+y_0/(-4.0);printf("y[%d]=%-20f",n,y_1);if(n>=10)break;y_0=y_1;n++;if(n%3==0)printf("");}printf("无效算法的输出结果:");prin
6、tf("y[10]=%-20f",y_2);while(1){y_3=1.0/n-4.0*y_2;printf("y[%d]=%-20f",m-1,y_3);if(m<=1)break;y_2=y_3;m--;if(m%2==0)printf("");}专业.专注.......}结果:4设,已知其精确值为(1)编制按从小到大顺序计算的程序(2)编制按从小达到的顺序计算的程序(3)按两种顺序分别计算,并指出有效位数源代码:#includemain(){intN;doubleSN
7、[30000];SN[30000]=(3.0/2.0-1.0/30000.0-1/30001.0)/2.0;for(N=30000;N>=2;N--)SN[N-1]=SN[N]-1.0/(N*N-1);专业.专注.......printf("从大到小顺序计算:SN[1000]=%fSN[10000]=%fSN[30000]=%f",SN[1000],SN[10000],SN[30000]);SN[2]=(3.0/2-1.0/2.0-1/3.0)/2.0;for(N=3;N<=300
8、00;N++)SN[N]=SN[N-1]+1.0/(N*N-1);printf("从小到大顺序计算:SN[1000]=%fSN[10000]=%fSN[30000]=%f",SN[1000],SN[10000],SN[30000]);}结果:专业.专注.......实习题21.用牛顿法求下列方程的根源代码:#include#includetypedeffloat(*p)(float);floatff1(floatx){returnx