C统考习题答案66Word下载.docx
- 文档编号:5096387
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:43
- 大小:24.78KB
C统考习题答案66Word下载.docx
《C统考习题答案66Word下载.docx》由会员分享,可在线阅读,更多相关《C统考习题答案66Word下载.docx(43页珍藏版)》请在冰点文库上搜索。
2.编写程序,用矩形法求一元函数f(x)=x^3+2x^2-12x-6(其中^示幂运算),在区间[3.5,
5]上的积分近似值S,保留2位小数(小区间数n=25,此参数不能改动,否则影响答案)
n=25;
s=90.69
3.编写程序,用矩形法求一元函数f(x)=7x^3+2x^2-12x-16(其中^表示幂运算),在区间[5,7]上的积分近似值S,保留2位小数(小区间数n=15,此参数不能改动,否则影响答案)
y=7*pow(x,3)+2*x*x-12*x-6;
a=5.0;
b=7.0;
s=%8.2f\n"
s=3201.43
4.编写程序,用矩形法求一元函数f(x)=3x^3+2x^2+x+1(其中^表示幂运算),在区间[1,3]上的积分近似值S,保留3位小数(小区间数n=15,此参数不能改动,否则影响答案)
y=3*pow(x,3)+2*x*x+x+1;
a=1.0;
b=3.0;
s=%8.3f\n"
s=89.852
5.编写程序,用牛顿切线法求方程f(x)=x+㏑x-1.56=0的近似实根r,迭代初值为2,精确到0.0001。
(注意:
㏑x是以e为底的自然对数)(提示:
牛顿切线法的计算公式为x=x-f(x)/f′(x)).
{floatx0,x1;
x0=2;
x1=x0-(x0+log(x0)-1.56)/(1+1/x0);
while(fabs(x0-x1)>
1e-4)
{x0=x1;
x=%8.4f\n"
x1);
x=1.2987
6.编写程序,用牛顿切线法求方程f(x)=x^3+2x^2-14=0(其中^表示幂运算),在区间(0,5)上的近似实根r,迭代初值自选,精确到0.0001。
{提示:
牛顿切线法的计算公式为x=x-f(x)/f’(x)}.
x0=2.5;
x1=x0-(x0*x0*x0+2*x0*x0-14)/(3*x0*x0+2*2*x0);
while(fabs(x0-x1)>
1e-4)
x=%10.4f\n"
x=1.8957
7.要求:
编写程序,用梯形法求一元函数f(x)=㏑(x+1)+x/3,在区间[1,4]上的积分近似值S,保留3位小数(小区间数n=20,此参数不能改动)。
㏑x是以e为底的自然对数)
在运行程序时,使用文本框或InputBox函数输入n值,并用适当的方法输出运算结果。
y=log(x+1)+x/3.0;
{doublea,b,s,x,h;
intn=20,i;
b=4.0;
h=fabs(b-a)/n;
s=(f(a)+f(b))/2.0;
=n-1;
i++)
s=s+f(x);
s=s*h;
s=6.160
8.编写程序,用梯形法求一元函数f(x)=7x^3+2x^2-12x-16(其中^表示幂运算),在区间[3,5]上的积分近似植S,保留2位小数(小区间数n=25,此参数不能改动,否则影响答案)
y=7*x*x*x+2*x*x-12*x-16;
intn=25,i;
a=3.0;
s=889.52
方法二:
{
doubley;
doublea,b,x,y1,y2,h,s;
inti,n;
a=3;
b=5;
x=a;
for(i=1;
{
y1=f(x);
y2=f(x+h);
s=s+(y1+y2)*h/2;
x=x+h;
s=%.2f\n"
9.编写程序,用普通迭代法求方程f(x)=x+㏒x-3.18=0的近似实根r,迭代初值为2.5,要求结果保留4位小数。
㏒x是以10为底常用对数)(提示:
必须把方程f(x)=0化成其等价形式x=g(x))(本题允许使用其他迭代法)
要求:
在运行程序时,使用文本框或InputBox函数输入迭代初值,并用适当的方法输出运算结果
x1=3.18-log10(x0);
do
1e-4);
x=2.7419
10.编写程序,用普通迭代法求方程f(x)=x+lgx-3.18=0的近似实根r,迭代初值为2.5,精确到0.0001。
lgx是以10为底的常用对数)[提示:
必须把方程f(x)=0化成其等价形式x=g(x)](本题允许使用其他迭代法)
11.编写程序,用二分法求一元非线性方程f(x)=x+cosx-2.8=0在区间(0,5)上的近似实根r,精确到0.0001。
y=x+cos(x)-2.8;
doublexpoint(doublex1,doublex2)
y=(x1*f(x2)-x2*f(x1))/(f(x2)-f(x1));
doubleroot(doublex1,doublex2)
{doublex,y,y1;
y1=f(x1);
{x=xpoint(x1,x2);
y=f(x);
if(y*y1>
0){y1=y;
x1=x;
}elsex2=x;
}while(fabs(y)>
=0.0001);
returnx;
{doublex,x1,x2;
x1=0;
x2=5;
if(f(x1)*f(x2)>
0)printf("
此区间无根"
);
elsex=root(x1,x2);
x);
x=3.6657
12.编写程序,计算出1到500之间所有满足下列条件的整数的和:
该整数的所有因子
(包括1,但不包括整数本身)之和等于整数本身。
{intsum=0,i,j,s;
=500;
{s=0;
for(j=1;
j<
=i/2;
j++)
if(i%j==0)s=s+j;
if(i==s)sum=sum+i;
sum=%d\n"
sum);
sum=530
13.编写程序,界面如下。
统计在所有3位数中,其个位、十位、百位上的数码相加等于9的数据个数。
点击“运行“按钮输出结果。
〈image.gif>
{inti,a,b,c,sum=0;
for(i=100;
=999;
{a=i/100;
b=(i-100*a)/10;
/*b=(i%100)/10;
*/
c=i-100*a-10*b;
/*c=i%10;
*/
if(a+b+c==9)sum++;
}
sum=%d"
sum);
sum=45
14.设计如图所示的运行界面,从键盘输入一批不少于10个数的任意数据,点击“计算”按钮,将实现如下功能:
去掉其中的最大数和最小数,输出剩余数据的平均值(保留两位小数)。
〈image001.gif>
{inti;
floatx,min,max,sum=0,ave;
输入10个数:
\n"
scanf("
%f"
&
x);
max=x;
min=x;
sum=sum+x;
10;
{scanf("
sum=sum+x;
if(x>
max)max=x;
if(x<
min)min=x;
ave=(sum-max-min)/(i-2);
sum=%10.2f\n"
ave);
15.编写程序,计算出300到810之间所有满足下列条件的整数的平方根和:
整数能被其每位数字的和整除。
运行程序,将结果四舍五入保留4位小数,并采用适当的方式输出。
stdio.h"
math.h"
{inti,a,b,c;
floatsum=0;
for(i=300;
=810;
if(i%(a+b+c)==0)sum=sum+sqrt(i);
sum=%10.4f\n"
sum);
sum=2368.6831
16.编写程序,计算出1000到5000之间能被3整除但不能被13整除的整数的所有的整数的平方根的和。
保留4位小数
for(i=1000;
=5000;
if(i%3==0&
&
i%13!
=0)sum=sum+sqrt(i);
sum=%10.4f\n"
sum=65994.6641
17.编写程序,界面如下。
统计在所有3位数中,其个位、十位、百位上的数码相加等于21的数据个数。
点击“运行”按钮输出结果。
〈image115.gif>
{inti,a,b,c,sum=0;
if(a+b+c==21)sum++;
sum=%d\n"
sum=28
18.编写程序,计算出1000到9900之间所有能被3和7同时整除的整数之和。
longsum=0;
=9900;
i%7==0)sum=sum+i;
sum=%ld\n"
sum=2310288
19.编写程序,从键盘输入一个3位正整数,试求其个、十、百位数之和(例如:
136的各位数之和为10)。
用可视化程序设计出如下界面,点击“确认”按钮输出运算结果
{inti,a,b,c,sum=0;
enteri:
"
);
%d"
&
i);
a=i/100;
sum=a+b+c;
i=%d,sum=%d"
i,sum);
i=123,sum=6
20.编写程序,计算并输出下面数列前n(设n=45)项中所有偶数项的和。
1*2*3,3*4*5,5*6*7,……,(2n-1)*2n*(2n+1),……
{intn;
for(n=2;
n<
=45;
n=n+2)
sum=sum+(2*n-1)*(2*n)*(2*n+1);
sum=4095564
21.编写程序,计算下面数列前n项(设n=50)中奇数项的和。
结果取4位小数。
1/(1*2*3),1/(2*3*4),1/(3*4*5),……,1/(n(n+1)(n+2),……
for(n=1;
=50;
sum=sum+1.0/(n*(n+1)*(n+2));
sum=0.1931
22.编写程序,计算并输出下面数列前n(设n=15)项的和。
用科学技术法表示结果,尾数取4位小数。
1!
,2!
,3!
,4!
,……,n!
,……(其中,!
表示求阶乘)。
floatsum=0,p=1;
=15;
n++)
{p=p*n;
sum=sum+p;
}
sum=%15.4e\n"
sum=1.4016e+012
23.编写程序,计算并输出下面数列前30项的和。
=30;
sum=1728870
24.编写程序,计算并输出下面数列前40项的和,结果取6位小数,小数点后第5位四舍五入。
2/3,4/5,6/7,8/9,10/11,12/13,14/15,……,(2n)/(2n+1)
=40;
sum=sum+2.0*n/(2*n+1);
sum=(int)(sum*10000+0.5)/10000.0;
sum=%f\n"
sum=38.161500
25.编写程序,求下面数列前40项的和。
1,1/2^4,1/3^4,1/4^4,……,1/n^4,……(其中,^表示幂运算)
(1.0823)
sum=sum+1.0/pow(n,4);
sum=1.0823
26.编写程序,计算并输出下面数列前n项(设n=50)的和。
1*2,-2*3,3*4,-4*5,……,(-1)^(n-1)*n*(n+1),……(其中,^表示幂运算)
{intn,s=1;
intsum=0;
{sum=sum+s*n*(n+1);
s=-s;
sum=-1300
27.编写程序,计算并输出下面数列前n(设n=45)项中所有奇数项的和。
1*2,2*3,3*4,4*5,……,n*(n+1),……
sum=sum+n*(n+1);
sum=16744
28.编写程序,计算下面数列前n项(设n=50)中奇数的和。
1/(1*2*3),1/(2*3*4),1/(3*4*5),……,1/(n(n+1)(n+2)),……
sum=%8.4f\n"
29.编写程序,求下面数列前50项的和。
1,1/(3*3),1/(5*5),1/7*7),……,1/(2n-1)*(2n-1),……
n<
n++)
sum=sum+1.0/((2*n-1)*(2*n-1));
sum=1.2287
30.编写程序,计算并输出如下数列前35项的和。
-1*2*3,2*3*4,-3*4*5,……,(-1)^n*(n*(n+1)*(n+2)),……
(其中,(-1)^n表示-1的n次方)
stdio.h
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 统考 习题 答案 66