哈工程C语言教材课后答案汇编Word文档下载推荐.docx
- 文档编号:22309430
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:51
- 大小:35.24KB
哈工程C语言教材课后答案汇编Word文档下载推荐.docx
《哈工程C语言教材课后答案汇编Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《哈工程C语言教材课后答案汇编Word文档下载推荐.docx(51页珍藏版)》请在冰豆网上搜索。
8,10,16⑶答案:
3.500000⑷答案:
6
⑸答案:
1⑹答案:
261⑺答案:
16⑻答案:
4.编程题
⑴输入长方形的长和宽,输出长方形的周长和面积。
inta,b,l,s;
scanf(“%d%d”,&
b);
l=(a+b)*2;
s=a*b;
printf(“%d,%d”,l,s);
}
⑵输入一个字符,输出其ASCII代码。
#include<
{chara;
printf("
pleaseinputthechar"
scanf("
%c"
theASCIIis%d"
a);
⑶输入3个整数,计算并输出它们的平均值。
inta,b,c;
floataver;
scanf(“%d%d%d”,&
aver=float(a+b+c)/3;
printf(“%f”,aver);
⑷已知整型变量a、b、c的值,根据以下算式编写程序求y的值。
math.h>
{inta,b,c;
pleaseinputthenumofabc:
"
%d%d%d"
b,%c);
theyis%f"
(3.8*(pow(b,2)+a*c))/(6*a));
5.设a和n已定义为整型变量,a=12,求下面表达式运算后a的值。
⑴a+=a24⑵a-=210⑶a*=2+360
⑷a/=a+a0⑸a%=(n%=2),n的值等于50⑹a+=a-=a*=a0
第三章
1、选择题1_C_2.C_3.C4.D5.D_
二、填空题1.%f_2、%s3、12,56,789.0000004、6e,16_5、1,1,3___
三、编程题
1.编写一个程序,从键盘上输入3个数,求其和并输出。
inta,b,c,d;
pleaseinputthenumofa,b,c:
"
d=a+b+c;
thesumofa,bandcis%d"
d);
2.输入一个正整数,分别输出它的八进制和十六进制数形式。
intm;
pleaseinputthem:
m);
\nbajinzhishuzhishi:
%o"
m);
\nshiliujinzhishuzhishi:
%x"
3.编程把11325秒转换成“小时:
分钟:
秒”的形式
inta=11325;
inth,m,s;
h=a/3600;
m=a%3600/60;
s=a%3600%60;
%d:
h,m,s);
4.编程序,求a+︱b︱的值,a,b为任意数。
本题可调用求绝对值的函数fabs,此函数包含在math.h文件中。
voidmain()
doublea,b;
pleaseinputthenumofaandb:
%lf%lf"
\na+|b|=%lf"
a+fabs(b));
5.编程序,求平面上两点之间的距离。
设第1个点的坐标为(x1,y1),第2点的坐标为(x2,y2),则这两个点的距离为:
d=
floatx1,y1,x2,y2,d;
\nshurudi1gediandezuobiao:
%f%f"
x1,&
y1);
\nshurudi2gediandezuobiao:
x2,&
y2);
d=sqrt(pow((x1-x2),2)+pow((y1-y2),2));
\njulidwei:
%f"
第四章
一、阅读程序,回答问题
1.答案:
12.答案:
63、B4.答案:
6.0000005答案:
8
6.答案:
27.答案:
k=11
二、填空
a==b或b==a或!
(a!
=b)或a=b或b=a2.答案:
(1)<
0
(2)!
=0
3.答案:
(1)max<
y
(2)max<
z4.答案:
(1)m%2==1
(2)m%2==0
三、编程
1.输入一个整数,判断其为奇数还是偶数。
inta;
Pleaseinputaninteger:
);
a);
if(a%2==0)
printf("
nishurudeshu%dshioushu.\n"
a);
else
nishurudeshu%dshijishu.\n"
2.编写一个程序,实现功能是:
输入一个实数,按1输出此数的相反数,按2输出此数的平方根,按3输出此数的平方。
doublef;
qingshuruyigeshu:
f);
\nqingshuru1huo2huo3\n"
\nan1shuchuxiangfanshu"
\nan2shuchupingfanggen"
\nan3shuchupingfang"
if(a==1)
%f\n"
-f);
elseif(a==2)
sqrt(f));
elseif(a==3)
f*f);
shurucuowu!
3.输入字符,输出其类型。
ASCII值小于32的为控制字符,在“0”和“9”之间的为数字,在“A”和“Z”之间为大写字母,在“a”和“z”之间为小写字母,其余则为其它字符。
chara;
scanf(“%c”,&
if(a<
32&
&
a>
0)
printf(“thisisaControlCharacter”);
if(a>
=’0’&
a<
=’9’)
printf(“thisisanumber”);
’A’&
’Z’)
printf(“thisisacapitalletter”)
if(a>
’a’&
’z’)
printf(“thisisalowercasenumber”);
printf(“thisisanothercharacter”);
4.输入某年某月某日,判断这一天是这一年的第几天。
inta,b,c,k,s=0;
qingshurunian,yue,ri:
%d,%d,%d"
if((a%4==0&
a%100!
=0)||a%400==0)
k=29;
k=28;
switch(b)
case12:
s+=30;
case11:
s+=31;
case10:
case9:
case8:
case7:
case6:
case5:
case4:
case3:
s+=k;
case2:
case1:
s+=c;
nishurudeshushizheniandedi%dtian."
s);
第五章
一、单选题1C2.C 3. D 4.C5. B 6.C7.A8.D9.C 10C
二、写程序运行结果
1,2,32.答案:
523.答案:
s=64.答案:
1,-2
5.答案:
a=16y=606.答案:
三、程序填空
(1)cx=getchar()
(2)front!
=‘’(3)cx
2.答案:
(1)s=0
(2)m%n==0(3)m==s
3.答案:
(1)j=1
(2)k<
=6
4.答案:
(1)50
(2)n=2(3)h/2
(1)a
(2)i<
=n(3)t*10
四、程序改错
(1)intn,k=0;
(2)k=k*10+n%10;
(1)for(i=0;
10;
i++)
(2)j%3!
=0
(1)doublek=1,t=1;
(2)k=k+1/t;
(1)i=2;
(2)k--;
(1)h=(float)(5-2)/n;
(2)a=a+h;
五、编写程序
1.编一程序,将2000年到3000年中的所有闰年年份输出并统计出闰年的总年数,要求每10个闰年放在一行输出。
intyear,k=0;
for(year=2000;
year<
=3000;
year++)
{if((year%4==0&
year%100!
=0)||year%400==0)
k++;
%6d"
year);
if(k%10==0)
\nrunniandezongnianshushi%d"
k);
2.若有如下公式:
试根据上述公式编程计算π的近似值(精确到10-6)。
{floatpi,a,b;
inti=1;
a=0;
b=1;
while(b>
=0.000001)
b=1/(float)(i*i);
a+=b;
i++;
pi=sqrt(6*a);
pi);
3.用0~9之间不同的3个数构成一个3位数,统计输出共有多少种方法?
inti=0,j=0,k=0,n=0;
for(i=1;
i<
10;
i++)
for(j=0;
j<
j++)
{
if(i==j)continue;
for(k=0;
k<
k++)
{
if(i==k||j==k)continue;
n++;
}
}
n);
4.找出1~99之间的全部同构数。
同构数是这样一组数:
它们出现在平方数的右边。
例如:
5是25右边的数,25是625右边的数,5和25都是同构数。
inti,j,k;
k=10;
for(i=1;
i<
100;
i++)
if(i==10)k=100;
j=i*i;
if(j%k==i)
printf("
%d\t"
i);
5.猴子吃桃问题。
猴子第1天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了个。
第2天又将剩下的桃子吃掉一半,又多吃了一个。
以后每天都吃了前一天剩下的一半零一个。
到第10天再想吃时,只剩下一个桃子了。
问第1天共摘多少个桃子?
。
intday,x;
x=1;
for(day=1;
day<
=9;
day++)
x=(x+1)*2;
diyitianhouzizhaile%dgetaozi"
x);
6.打印以下图形
*
**
***
****
voidmain()
inti,j,k;
=4;
for(j=1;
=4-i;
*"
=i-1;
j++)
*"
7.百钱百鸡问题。
公鸡五元一只,母鸡三元一只,鸡雏一元三只。
若用100元买100只鸡,可买公鸡、母鸡和鸡雏各多只?
inti,j,k;
for(i=0;
=100/5;
i++)
for(j=0;
j<
=100/3;
j++)
for(k=0;
k<
=100;
k++)
if(k%3!
=0)continue;
if((5*i+j*3+k/3==100)&
(i+j+k==100))
{
printf("
gongjimujichujiwei%d,%d,%d.\n"
i,j,k);
}
8.一个正整数与3的和是5的倍数,与3的差是6的倍数,编写一个程序求符合条件的最小数。
intk=1;
while(!
(((k+3)%5==0)&
((k-3)%6==0)))
k++;
9.从键盘输入20个整型数,统计其中负数个数并求所有正数的平均值。
inta,i,j=0,k=0;
floats=0;
qingshuru20geshu:
for(i=1;
=20;
scanf("
if(a<
0)k++;
if(a>
0)
j++;
s+=a;
s=s/(float)j;
fushudegeshushi%d.\n"
zheshudepingjunzhishi%f.\n"
}10.父亲今年30岁,儿子6岁,经过多少年后,父亲的年龄是儿子的两倍?
{inti,j,k;
i=30;
j=6;
k=0;
while(!
(i+k==(j+k)*2))k++;
第六章
一、选择题
1._C_2.C__3._D__4._C__5._C_6._B_7._D8._A_
二、填空题1.答案:
b!
=02.答案:
15
三、编程题
1.编写一个求x的y次方的函数。
intfunc(intx,inty);
{inta,b,c;
pleaseinputthetwonumbers:
\n"
%d%d"
c=func(a,b);
theansweris\n"
%d\n"
c);
intfunc(intx,inty)
{inti,s=1;
for(i=1;
=y;
s=s*x;
return(s);
2.编写函数,要求去掉字符串中所有空格。
#include<
string.h>
voidf(chars[])
inti,j;
i=j=0;
while(s[i])
{if(s[i]!
='
'
)s[j++]=s[i];
i++;
s[j]='
\0'
;
chars[80];
gets(s);
f(s);
puts(s);
3.编写函数,判断一个字符串是否是回文,如是返回1,否则返回-1(回文是指这个字符串逆置后不变,如aba就是回文。
)
intf(chars[],intn)
inti,f;
f=1;
i=0;
while(f&
n-i-1)
=s[n-i-1])
{f=-1;
break;
returnf;
gets(s);
if(f(s,strlen(s))==1)
\nYes"
else
\nNo"
4.编写函数fun求1!
+2!
+3!
+…+n!
的和,在main函数中由键盘输入n值,并输出运算结果。
intfun(intn);
{intn,c;
pleaseinputthenumber:
n);
c=fun(n);
intfun(intn)
{inti,a,s;
s=1;
a=0;
=n;
s=s*i;
a=a+s;
return(a);
5.编写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数并输出结果。
两个整数由键盘输入
intfun(intx,inty);
{intx,y,c,d;
x,&
y);
c=func(x,y);
d=fun(x,y);
zuidagongyueshushi%d\n"
zuixiaogongbeishushi%d"
{
intt;
t=x%y;
while(t)
x=y;
y=t;
return(y);
intfun(intx,inty)
return(x*y/func(x,y));
第七章
1、选择题1.D2.B3.D4.D5.A
二、阅读程序写出结果
1.答案:
1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工程 语言 教材 课后 答案 汇编