C语言程序设计参考答案与复习题(3)

2019-03-22 11:47

10 C程序设计基础习题集

解答: #include void main() { int t; char x; scanf(\

if(t>=90) x='A'; switch((int)t/10) {

else if(t>=80) x='B'; case 9: case 10: x='A'; break; else if(t>=70) x='C'; case 8: x='B'; break; else if(t>=60) x='D'; case 7: x='C'; break; else x='E'; case 6: x='D'; break; printf(\ } } ⑶ 输入10个学生的成绩,输出最低分数和最高分数。 解答: #include void main()

{ int x,max=0,min=101,i; for(i=1;i<=10;i++) {

scanf(\ if(x

printf(\ }

⑷ 按公式 1+1/1!+1/2!+1/3!+...+1/n!+... 计算e的值,要求误差小于给定的ε。 解答: #include void main()

{ float s=2,eps,t=1; int i=2; scanf(\

while(t>=eps) { t/=i++; s+=t; } printf(\ }

⑸ 统计输入的若干个数中负数、零及正数的个数(输入^z控制循环结束)。 解答: #include void main()

{ float x; int zs=0,lin=0,fs=0; while(scanf(\

if(x>0) zs++; else if(x<0) fs++; else lin++;

printf(\正数%d个,零%d个,负数%d个\\n\ }

⑹ 输入k,利用下列迭代公式计算k的近似值,要求计算结果具14位有效位数。

2xn?1?xn?(k/xn?xn)/3 解答: #include

1/3

程序设计基础习题集 11

#include void main()

{ int k; double x,x0; scanf(\ while(1) {

x0=x; x=x0+(k/(x0*x0)-x0)/3;

if(fabs(x-x0)<1e-14) { printf(\ } }

⑺ 编程,输入n后,计算下列表达式的值。

1?2?3?4?...n?1?n

解答: #include #include void main()

{ int i,n; float y=0; scanf(\

for(i=n;i>=1;i--) y=sqrt(i+y); printf(\ }

⑻ 编程,输入x、n后,计算下列表达式的值。

a0?a1x?a2x2?a3x3???anxn

解答: #include void main()

{ float x,y,a; int i,n; scanf(\

for(i=0; i<=n; i++) { scanf(\ printf(\ }

⑼ 当x为-2、-1.5、...、1.5、2时,求f(x)=x-3.14·x-6所取最大值、最小值。 解答: #include void main()

{ float x,y,max,min;

x=-2; max=min=x*x-3.14159*x-6; for(x=-1.5; x<=2; x=x+0.5) { y=x*x-3.14159*x-6;

if(y>max) max=y; else if(y

printf(\ }

⑽ 编程,输入两个正整数x和y,求它们的最大公约数和最小公倍数。 解答: #include

2

12 C程序设计基础习题集

void main() { int x,y,a;

scanf(\ while(a%y!=0) a+=x;

printf(\最小公倍数%d,最大公约数%d\\n\ }

⑾ 编程,输出1~5000之间的同构数(就是出现在其平方数右边的那些数,如 5、6、25均为同构数)。

解答: #include #include void main() { int k,kk,n;

for(k=1;k<=5000;k++) { n=log10(k)+1;

if((k*k-k)%(int)pow(10,n)==0) printf(\ } }

⑿ 参照例25编程,输出下列形式的九九乘法表。

解答: #include void main() { int i,j;

printf(\ putchar('\\n');

for(i=1;i<10;i++) { printf(\ for(j=1;j<10;j++) printf(\ putchar('\\n'); } }

⒀ 当n取值在-39~40范围内时,判断表达式 n+n+41 的值是否都是素数。 解答: #include

2

程序设计基础习题集 13

#include void main() { int i,j,y;

for(i=-39;i<=40;i++) { y=i*i+i+41;

for(j=3;j<=sqrt(y);j+=2) if(y%j==0) break;

if(j<=sqrt(y)) printf(\结论不成立!\\n\else printf(\ } }

⒁ 参照例24题编程,用梯形公式求下列定积分。

3?11?x3dx

解答: #include #include void main()

{ float a,b,h,s; int i,n; scanf(\ h=(b-a)/n; x=a;

s=0.5*(sqrt(1+a*a*a)+sqrt(1+b*b*b));

for(i=1;i

⒂ 用区间对分法求 x+x·sinx-5=0 在区间[0,5]内的一个实根(设ε=10)。

【说明】在[a,b]区间连续的函数f(x),若满足条件f(a)·f(b)<0,则必有a<ξ

① c←(a+b)/2;

② |f(c)|<ε或 |b-a|<ε则输出c作为近似解并终止程序执行; ③ 如果f(a)·f(c)<0则 b←c 否则 a←c,再次执行第⑴步。

解答: #include #include void main()

{ float a,b,c; a=0; b=5; do {

c=(a+b)/2;

if((a*a+a*sin(a)-5)*(c*c+c*sin(c)-5)<0 ) b=c; else a=c; } while(fabs(c*c+c*sin(c)-5)>=1e-5 && fabs(b-a)>=1e-5); printf(\ }

2

-5

习 题 五

1.判断下列各个叙述的正确与否。

14 C程序设计基础习题集

⑴ 函数的类型标识符缺省类型为void【√】 ⑵ 函数中不可以没有return语句【╳】

⑶ 传值调用的形参只有在被调用时才被创建(分配存储单元)【√】 ⑷ 传值调用时,实参不限于变量名,而可以是表达式【√】 ⑸ 被定义为前向调用的函数,不必再声明其函数原型【√】 ⑹ 函数f可以用f(f(x))形式调用,f是递归函数【╳】

2.写出下列程序的输出结果。

程序⑴ #include

void prn(int a,int b,int c,int max,int min) { max=(max=a>b?a:b)>c?max:c; min=(min=a

printf(\ }

void main() { int x,y;

x=y=0; prn(19,23,-4,x,y);

printf(\ }

输出结果为 max=23 min=-4 max=0 min=0

程序⑵ #include int f(int m,int n) { if(m%n==0) return n; else return f(n,m%n); }

void main()

{ printf(\ 输出结果为 24

程序⑶ #include

int f1(int,int),f11(int); void f2(int); void main() { int i,j;

for(i=0;i<5;i++) {

f2((5-i)*3); for(j=0;j<=i;j++) printf(\ putchar('\\n'); } }

int f1(int m,int n)

{ return f11(m)/f11(n)/f11(m-n); } int f11(int k)


C语言程序设计参考答案与复习题(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:事业单位财务管理

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: