C语言复习题答案Word格式.docx
- 文档编号:3685342
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:30
- 大小:29.45KB
C语言复习题答案Word格式.docx
《C语言复习题答案Word格式.docx》由会员分享,可在线阅读,更多相关《C语言复习题答案Word格式.docx(30页珍藏版)》请在冰点文库上搜索。
10. a=2b=5x=8.8y=76.34c1=65c2=97
11.B66
12.n1=%d\nn2=%d\n
13.12
14.11
15.252137
16.10030
17.1B
18.88
19.220.000000
2067G
习题4
4-1单选题
1~5AADAD6~10ACBBB11~15BADAD16~20BADBA
21~25CDBDD26~30DCDCA31~35DAACB36~40BDBAD
41~42AA
4-2填空题
1.1
2.
(1)a>
0||b>
0
(2)x>
0&
&
x<
=10
(3)a==1.5&
b==1.5&
c==1.5(4)p<
a||p<
b||p<
c
3.
(1)0
(2)1(3)1(4)0(5)1
4.(max=a>
b?
a:
b)>
c?
max:
5.-4
6.1
7.5,0,3
8.
(1)(a==0)
(2)(b==0)(3)(disc<
0)
9.1101
10.10200
11.yes
12.X==0
13.x=1y=0
x=2
14.ch>
=’A’&
c<
=’Z’ch=ch-32
15.-1
16.01
习题5
5-1单选题
1~5CDABA6~10ABDDB11~15DBCBC16-21DBCBCD
5-2填空题
1.20
2.333
3.
(1)i<
10
(2)j%3!
=0
4.
(1)flag*(float)k/(k+1)
(2)flag=-flag
5.
(1)max=x
(2)x!
=-1(3)scanf("
%d"
&
x)
6.0
7.22
8.t*10
习题6
6-1单选题
1~5CBBAD6~10DBCCD11~15DCABC16~20ABBBC
21~25CCBAA26~30ABBDB31~35BDADD36~40ADCAA
41~43BBB
6.2填空题
1. 120
2. x
3. 3,2,2,3
4.fac/i
5. 8,17
6. 9
7. 1.0/(i*i)
8. fun-in:
30,20,10
fun-end:
1015,35,1050
10,20,30
9. 012345
10.93636
11.–f
12.010111212
13.4334
14.x
15.voidfun(doubleb[])
16.
(1)j
(2)str[j-1
17.A+B=9
18.246
19.1:
a=1,b=1
2:
a=1,b=2
20.x=9
x=10
21.9
22.777
习题7
7-1单选题
1-5 DBCCB6-8BDCAD
7-2填空题
1. c
2. 60
3. 1000 10
4. 16
5.81
6.100,144
习题8
8-1单选题
1~15CADAC6~10CCDAB11~15CBBCD16~20CAABA
21~25DACDA26~30BDCAD31~35ADACD36~37AC
10000
01000
00100
00010
00001
8-2填空题
1
(1)2345
(2)10010(3)QuickC(4)
2.
(1)j+=2
(2)a[i]>
a[j]
3.
(1)r+b[k]
(2)*x
4.13715
5.&
a[i]
a[i]或*(a+i)
6.m-1,n-1
7.
(1)i<
10
(2)a[i]-a[i-1]
(3)i%3==0
8.
(1)a[i][j]+b[i][j]
(2)printf(“\n”)
9.0
习题9
9-1单选题
1~5DDACB6~10ACBAD11~15CDBCC
16~20DADAC21~25ACDAC26~30DDDAA
31~33ABC
9-2填空题
1.2,1
2.10#30#
3.FOUR,O
4.60
5.49
6.2
7.2
8.75319
9.15
1,1,1,1,1
3,3,3,3,3
10.
10001
01010
00100
11.
12.
(1)*x
(2)t
13.
(1)'
\0'
或0
(2)n++或n+=1或n=n+1
14.024
习题10
10-1单选题
1-5 CDBBB6-10 BBBAD11-15 CCBDA16-20BDCBB
21-25CDDCD26-30CADBB
10-2填空题
1. 所有结构体成员所占存储空间的总和
2. 与占用存储空间最大的那个成员相等
3.
(1)结构体
(2)3 (3)sa.a (4)9 (5)psa=&
sa
4. 80
5. structnode
6. 0
7.23
8.22
9.10,x
10.2,3
习题11
11-1单选题
1-6 BADDAA
11-2填空题
1. 3d3d330
2.
(1)28
(2)20 (3)0 (4)-9
3.
(1)251
(2)42 (3)209 (4)–295 (5)848
4.246
习题12
12-1单选题
1-5 BCDCA 6-10 ADABC11-14BDDA
12-2填空题
1. rewind(文件指针)
2. "
d1.dat"
"
rb"
3. stdin
4. 文本文件 二进制文件
5.
(1)"
w"
(2)str[i]-32 (3)"
r"
6. fopen
7. Hell
8.
(1)"
(2)fgetc(fp) (3)time++
9.文本文件二进制文件
10.非零值0
1-5 BCDCA 6-8 ADA
实验篇
实验1熟悉VisualC++6.0可视化集成开发环境
略
实验2顺序结构程序设计
实验3选择结构程序设计
(1)略
(2)略
(3)#include"
stdio.h"
main()
{
floata,b;
printf("
Pleaseinputthedataaandb:
\n"
);
scanf("
%f%f"
&
a,&
b);
if(a>
10.0)
a=a-10.0;
else
{a=a+10.0;
if(b>
a);
elseb=a-b;
}
a=%f,b=%f\n"
a,b);
}
实验4循环结构程序设计
(3)编写一个程序,打印输出半径为1~10的圆的面积,若面积为40~90则予以打印,否则,不予打印。
#include"
{floatr=0,area=0;
while(r<
10&
area<
90)
{if(area>
40)
printf("
r=%f,area=%f\n"
r,area);
r=r+1;
area=3.1415926*r*r;
}
}
(4)从键盘输入一批整数,统计其中不大于100的非负数数值的个数。
(用while循环实现。
)
{intx,i=0;
scanf("
x);
while(x>
=0)
{if(x<
=100)
i++;
thenumberis:
%d\n"
i);
(5)用/4=1-1/4+1/5-1/7+1/9-…公式求的近似值,直到最后一项的绝对值小于10-4为止。
math.h"
{doublek=1.0,n=1.0,pi=0,t=1.0;
while(fabs(t)>
=1e-4)
{pi=pi+t;
n=n+2.0;
k=-k;
t=k/n;
pi=pi*4;
pi=%lf\n"
pi);
(6)解决猴子吃桃问题。
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。
第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
以后每天早上都吃了前一天剩下的一半零一个。
到第10天早上想再吃时,只剩一个桃子了。
求第一天猴子共摘了多少个桃子。
#include<
stdio.h>
{inti,m,n;
for(n=1,i=1;
i<
10;
i++)
{m=2*n+2;
n=m;
total=%d\n"
m);
(7)取彩球问题。
现有12个彩球——3个白球、3个红球、6个黑球,从中任意取n(2≤n≤12)个球,求所有不同的取法。
{
intn,white,red,yellow,count=0;
Pleaseinputthenumberofballtook:
"
n);
whiteredyellow\n"
for(white=0;
white<
=3;
white++)
for(red=0;
red<
red++)
{yellow=n-white-red;
if(yellow>
=0&
yellow<
=6)
{printf("
%6d%6d%6d\n"
white,red,yellow);
count++;
Total:
count);
实验5函数
(3)求两个整数的最大公约数和最小公倍数,要求:
用一个函数求最大公约数,用另一个函数求最小公倍数,分别采用用全局变量和不用全局变量两种方法做。
●使用全局变量:
intx,y;
inthef()
{intu=x,v=y,a,b;
if(u>
v)
{a=u;
u=v;
v=a;
while((b=u%v)!
{u=v;
v=b;
return(v);
intled(intx,inty,inth)
{return(x*y/h);
inth,l;
%d%d"
x,&
y);
h=hef(x,y);
HCF=%d\n"
h);
l=led(x,y,h);
LCD=%d\n"
l);
●不用全局变量:
inthef(intx,inty)
inta,b;
if(y>
{a=x;
x=y;
y=a;
while((b=x%y)!
{x=y;
y=b;
return(y);
{intx,y,h,l;
(4)计算s=1/1-1/2+1/3-…+1/9999-1/10000,分别采用下列各种方法,每种方法单独用一个函数实现,最后加以比较:
①从左到右各项相加;
②从右到左各项相加;
③从左到右各个正项和负项分别相加;
④从右到左各个正项和负项分别相加。
voidlsum(intn);
voidrsum(intn);
voidlsumc(intn);
voidrsumc(intn);
{lsum(10000);
rsum(10000);
lsumc(10000);
rsumc(10000);
voidlsum(intn)
{inti,k=1;
doublesum=0,t;
for(i=1;
=n;
{t=1.0*k/i;
sum+=t;
thelsumis:
%lf\n"
sum);
voidrsum(intn)
{inti,k=-1;
for(i=n;
i>
=1;
i--)
thersumis:
voidlsumc(intn)
{inti;
doublesum=0;
=n-1;
i++,i++)
sum+=1.0/i;
for(i=2;
sum-=1.0/i;
thelsumcis:
voidrsumc(intn)
=2;
i--,i--)
for(i=n-1;
thersumcis:
(5)猴子吃桃问题的函数化。
把猴子吃桃问题写成一个函数,使它能够求得指定一天开始时的桃子数。
intmonkey(intk)
for(n=1,i=1;
=10-k;
return(n);
{intday;
Pleaseinputtheday(1<
=day<
=10):
day);
day:
%d,total:
day,monkey(day));
(6)菜单程序。
编写一个菜单程序,运行后首先在屏幕显示如图所示的菜单,当输入数值1时,调用显示“@”图案的函数;
当输入数值2时,调用显示“$”图案的函数;
当输入数值3时,程序结束。
voidview1();
voidview2();
intop;
\n************************************\n"
Menusection\n"
1.view(@)\n"
2.view($)\n"
3.exit\n"
************************************\n"
\nPleaseinputselection:
while
(1)
op);
if(op==1)
{view1();
elseif(op==2)
{view2();
elsereturn;
voidview1()
15;
putchar('
@'
return;
voidview2()
{inti,j;
5;
{for(j=1;
j<
i;
j++)
'
for(j=1;
putchar('
$'
printf("
实验6数组
(3)设有含10个元素的一维整型数组,其中偶数和奇数各占一半,将该数组变换为25的二维数组,且偶数和奇数各成一行。
{inta[10],b[2][5],i,j=0,k=0;
Pleaseinputthearraya:
for(i=0;
a[i]);
{if(a[i]%2==0)
{b[0][j]=a[i];
j++;
else
{b[1][k]=a[i];
k++;
for(j=0;
for(k=0;
k<
=4;
k++)
b[%d][%d]=%d"
j,k,b[j][k]);
(4)找出一个二维数组的鞍点,即该位置上的元素在所在行上最大,在所在列上最小,注意也可能没有鞍点。
#defineM3
#defineN4
{inta[M][N],i,j,k;
M;
N;
a[i][j]);
{k=0;
for(j=1;
if(a[i][j]>
a[i][k])k=j;
if(a[j][k]<
a[i][k])break;
if(j==M)
%d%d,%d\n"
a[i][k],i,k);
(5)有n个人围成一圈,顺序编号。
从第1个人开始报数(从1到m),凡报到m的人退出圈子,求最后一个圈中的人的编号。
{inti=0;
intk=0;
intquit_num=0;
intn;
//总人数
intm;
//报数的最大数
intnum[100];
//保存所有人的编号
int*p=num;
//初始化指针,使其指向num数组
Pleaseinputnumberofperson:
n="
Pleaseinputthenumberm="
m);
/*给所有的人编号为1到n*/
for(i=0;
i<
n;
i++)
{*(p+i)=i+1;
i=0;
/*当未退出人数大于1时执行循环*/
while(quit_num<
n-1)
{while(i<
n)
{if(*(p+i)==0)
{k++;
if(k==m){*(p+i)=0;
quit_num++;
k=0;
i=0;
while(*p==0)p++;
//查找留在圈中的人
Thelastone’snumberis:
%d\n"
*p);
实验7指针
(3)用指针作函数参数求4个整数中的最大者。
voidmax(int*,int*);
{inta,b,c,d,*pa,*pb,*pc,*pd;
pa=&
a;
pb=&
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 复习题 答案
![提示](https://static.bingdoc.com/images/bang_tan.gif)