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