C语言程序设计任务驱动式教程(第3版)(微课版)课后练习答案_第1页
C语言程序设计任务驱动式教程(第3版)(微课版)课后练习答案_第2页
C语言程序设计任务驱动式教程(第3版)(微课版)课后练习答案_第3页
C语言程序设计任务驱动式教程(第3版)(微课版)课后练习答案_第4页
C语言程序设计任务驱动式教程(第3版)(微课版)课后练习答案_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

:乂;河让X交聊业我噌净落

HBBE1COLLKGEOFINDUSTRYANDTECHNOLOGY

©语言程海微初锦后思考s洌秣答案

编著:宋铁桥、刘洁、赵叶

计算机技术系

二。二一年一月

第一单元

1.讨论题(略)

2.选择题

(1)B(2)A(3)B(4)A(5)A(6)D

3.填空题

(1).c.obj.exe

(2)/**/

(3)编辑、编译、连接、运行

4.编程题

(1)

#include<stdio.h>

voidmain()

p「jntf("********************************

printf("Thisismyfirstprogram");

printf("******************************")*

(2)

#include<stdio.h>

voidmain()

printf("****\n");

printf("*\n");

printf("*\n");

printf("*\n");

printf("****\n");

)

第二单元

L讨论题(略)

2,选择题(1)C(2)C(3)C(4)C(5)C(6)B(7)C(8)A(9)

A(10)C(11)C

3.填空题

(1)单引号双引号(2)优先级自左向右(3)5

(4)511

4.编程题

(1)

#include<stdio.h>

voidmain()

(

intage=18;

floatheight=180.5;

doubleweight=130.1;

chargender='M';

printf("age=%d,height=%.2f/weight=%.2lf,gender=%c\n"/age,height,w

eight,gender);

(2)

#include<stdio.h>

#include<math.h>

voidmain()

(

intn;

floattotal,benjin;

printf(“请输入存款年限和本金:”);

scanf("%d",&n);

scanf("%f",&benjin);

total=benjin*pow(l+0.00225,n);

printf("total=%f",totaI);

)

第三单元

L讨论题(略)

2.单选题

(1)A(2)D(3)D(4)D(5)A

4.分析程序题

(1)3,2(2)a=325x=3.14(3)-14(4)12

5.编程题

(1)

#include<stdio.h>

voidmain()

(

doublea,b,x;

printf(〃请输入a,b的值:〃);

scanf("%f%f〃,&a,&b);

x=-b/a;

printf(//x=%f/»;

)

(2)

#include<stdio.h>

voidmain()

(

intx,a,b,c;

printf("请输入一个三位的整数;

scanf(〃%d〃,&x);

a=x/100;

b=x/10%10;

c=x%10;

printf("百位数字a=%d十位数字b=%d个位数字c=%d,,,a,b,c);

第四单元

1.讨论题(略)

2.选择题

(1)D(2)C(3)B(4)B

3.分析程序并上机操作

(1)

x=0y=lz=0

x=0y=0z=0

x=-ly=0z=0

(2)

**Q****2**

4.填空题

(1)1(2)y%2!=0或y%2(3)585858(4)0(5)3

5.编程题

(1)

#include<stdio.h>

voidmain()

(

charch;

printf(〃请输入一个字符:〃);

scanf(%c^&ch);

if(ch>=,A,&&ch<=,Z")

printf(〃输入的字符为大写字母,

elseif(ch>=,a,&&ch<=,z,)

printf(〃输入的字符为小写字母〃);

elseif(ch>=/0/&&ch<=,9,)

printf("输入的字符为数字字符〃);

else

printf("输入的字符为其它字符〃);

)

(2)

#include<stdio.h>

voidmain()

(

floatx,y,z,a;

printf(“请输入个人工资:”);

scanf(“%f,&x);

a=x-5000;

if(a<=3OOO)

y=a*0.03;

elseif(a<=12OOO)

y=3000*0.03+(a-3000)*0.1;

elseif(a<20000)

y=3000*0.03+9000*0.1+(a-12000)*0.2;

z=x-y;

("个人所得税是:%个人所得是:

printf.2f\n,%.2f\n",y/z);

)

#include<stdio.h>

voidmain()

(

inta,b,c,t;

printf(〃请输入三个数〃);

scanf("%d%d%d〃,&a,&b,&c);

if(a>b)

{t=a;a=b;b=t;}

if(a>c)

{t=a;a=c;c=t;}

if(b>c)

{t=b;b=c;c=t;}

("从小到大的顺序为:,;

printf%d,%d,%da,b,c);

)

(4)

#include<stdio.h>

voidmain()

inta;

printf(〃请输入产品的分数:〃);

scanf("%d〃,&a);

switch(a/10)

(

case10:

case9:{printf(“产品等级为A");break;}

case8:{printf("产品等级为B");break;}

case7:

case6:{printf("产品等级为C");break;}

defaul七{printf(“产品等级为D〃);break;}

)

第五单元

1.讨论题(略)

2.选择题

(1)C(2)C(3)A(4)D(5)A(6)B

3.分析程序并上机操作

(1)1次

(2)

(3)

4.填空题

(1)t*10或10*t

(2)s+=i+l

5.编程题

(i)判断字符类型,直到输入结束。

#include<stdio.h>

voidmain()

(

charch;

do

(

printf("请输入一个字符:");

scanf(”%ls”,&ch);

if(ch>='A'&&ch<='Z')

printf(”大写字母\n・);

elseif(ch>='a,&&ch<='z')

printf"J写字母\n”);

elseif(ch>='0,&&ch<='9')

printf("数字\n”);

else

printf("其他\n");

}while(ch!='#');

(2)循环输入年份月份,输出该月份的天数,直到年份输入0结束。

voidmain()

(

intyeacmonthjeap;

printf("请输入一个年份:");

scanf("%d",&year);

while(year!=O)

(

printf("请输入一个月份:“);

scanf("%d",&month);

switch(month)

(

case1:

case3:

case5:

case7:

case8:

case10:

case12:printf('该月为31天\n");break;

case4:

case6:

case9:

casell:printf("该月为30天\n");break;

case2:if((year%4==0)&&(year%100!=0)11(year%400==0))

printf("该月为29—

elseprintf("该月为28天\n");

break;

)

printf("请输入一个年份:");

scanf("%d",&year);

)

)

।fl''D:\C®a/JMS^\5\Debug\skxl5_4_2.exe'

请输入一个年份:2G20

请辎入一个月初■:?

该月为29天

请输入一个年份:2。21

请输入一个月份:5

该月为31天

请输入一个年份:。

Pressanykeytocontinue

(3)请将计算器程序改为循环程序。

include<stdio.h>

voidmain()

(

inta,b,n;

do

printf(H***************************************\nM),

printf("欢迎使用小型计算器\n");

printf("设计人:李丽红\n");

printf(H***************************************\nH),

printff"L加法运算\n");

printf("2.减法运算\n");

printf("3.乘法运算\n");

printff"4.除法运算\n");

printf("5.退出\n");

printf(”***************************************\n*)・

printf("\n");

printf("请选择:

scanf(”%d”,&n);

switch(n)

|

caseLprintf("请输入两个数scanf("%d%d",&a,&b);printf("两数相加

是:%d\n",a+b);break;

case2:printf("请输入两个数scanf("%d%d",&a,&b);printf("两数相减

是:%d\n",a-b);break;

case3:printf("请输入两个数scanf("%d%d",&a,&b);printf("两数相乘

是:%d\rT,a*b);break;

case4:printf("请输入两个数");scanf("%d%d",&a,&b);printf("两数相除

是:%6.2f\rT,(float)a/b);break;

case5:exit(0);

)

}while(n!=5);

(4)尝试将第4章的选择结构程序改为循环。

(5)输出以下图案:

#include<stdio.h>

voidmain()

(

intnJJ;

printf("请输入行数:");

scanf("%d"z&n);

for{i=l;i<=n;i++)

for(j=l;j<=i;j++)

printf("*");

printf("\n");

)

|=|回汉|

■,"D:\Ci§advg^\5\Debug\skxl5_4_5.exe*

请输入行数:4

MX

XXX

Pressanykeytocontinue

第六单元

1.选择题

(1)C(2)B(3)C(4)B(5)C(6)C(7)D(8)A(9)C(10)

D

2.填空题

(1)k=p

(2)&a[i]i%10==0a[i]

(3)i

3.编程题

(1)冒泡排序的过程是:从aO开始,逐个比较ai和ai+1,(i=0,

1,2,……n-2)若ai>ai+l则交换ai和ai+1的位置,第一趟比较完成后

an-1是序列中最大的元素。第二趟再从aO开始,逐个比较ai和ai+1,

(i=0,1,2,……n-3)若ai>ai+l则交换ai和ai+1的位置,第一趟比二

较完成后an-2是序列中最大的元素。如此反复进行n-l次冒泡排序后,

原来序列中的元素就排列好了。

#include"string.h"

main()

(

inta[ll];

intij,t;

printf("input10numbers:\n");

for(i=l;i<ll;i++)

scanf("%d",&a[i]);

printf("\n");

for(j=l;j<=9;j++)

for(i=l;i<=10-j;i++)

if(a[i]>a[i+l])

t=a[i];

a[i]=a[i+l];

a[i+l]=t;

)

printf("thesortednumbers:\n");

for(i=l;i<ll;i++)

printf("%d",a[i]);

)

(2)

#include<stdio.h>

#include<string.h>

voidmain()

{intij;

charsoustr[20],desstr[20];

printf(“请输入两个字符串:\n“);

gets(soustr);

gets(desstr);

printf(“连接后的字符目是:\n“);

i=strlen(soustr);

for(j=0;j<=strlen(soustr);j++,i++)

(

soustr[i]=desstr[j];

)

puts(soustr);

}

(3)

#include<stdio.h>

#include<string.h>

main()

(

chara[20];

intc,i,sum=0;

printf(“请输入一个字符串:\n“);

gets(a);

for(i=0;a[i]!='\0';i++)

if<(a[i]>=,0')&&(a[i]<='9'))

sum++;

)

printf(“输入了%d个数字字符\n】um);

)

第七单元

1.讨论题(略)

2.选择题

(1)D(2)B(3)D(4)A(5)C(6)C

3.填空题

(1)int(2)void(3)float(4)值地址(5)嵌套调用递归调

用(6)声明(7)局部变量全局变量自动变量静态变量(8)

doublefun(longm,doublen);doublefun(long,double);(9)自动变量

静态局部变量静态全局变量寄存器变量(10)84

4.编程题

(1)

#include<stdio.h>

voidmain()

(

floata,b;

chard;

voidjiafa(floatajloatb);

voidjianfa(floata,floatb);

voidchengfa(floata,floatb);

voidchufa(floata,floatb);

do

(

printf("PleaseenterthetwoNumbers,separatedbySpaces:\n");

scanf("%f

printf("Pleaseselectoperationway:(・,*/八,s,!)\n“);

scanf("%s",&d);

switch(d)

(

case'+':jiafa(a,b);break;

case'-':jianfa(a,b);break;

case'*':chengfa(a,b);break;

case7':chufa(a,b);break;

default:printf("inputerror\n");

)

printf("Doyouwanttocontinue(Y/Nory/n)");

fflush(stdin);

}while(toupper(getchar())=='Y');

)

voidjiafa(floatajloatb)

(

printf("a+b=%f\n",a+b);

}

voidjianfa(floata,floatb)

(

printf("a-b=%f\n"/a-b);

)

voidchengfa(floata,floatb)

(

printf("a*b=%f\n",a*b);

}

voidchufa(floata,floatb)

printf("a/b=%f\n"za/b);

)

(2)

#include<stdio.h>

intmax(intx,inty)

(

intz;

if(x>y)

z=x;

else

z=Y;

returnz;

}

voidmain()

(

inta,b,c;

printf("请输入两个数据:");

scanf("%d%d",&a,&b);

c=max(a,b);

("两个数中的最大数是:

printf%d\n",c);

)

第八单元

1.讨论题(略)

2.选择题

(1)B(2)B(3)B(4)C(5)B(6)D(7)C(8)A

3.填空题

(1)'\0'、*p++

(2)40,2

4.编程题

(1)

#include<stdio.h>

voidmain()

(

inta[10],max=0,min=0;*p;

inti;

P=a;

for(i=0;i<=9;i++)

scanf("%d〃,p+i);

max=min=p[O];

for(i=l;i<=9;i++)

if(*(p+i)>max)max=*(p+i);

if(*(p+i)<min)min=*(p+i);

)

,/,,

printf(max=%d,min=%d/max/min);

请输

数87

良好

继续1

退出0

tocontinue

(2)

#include<stdio.h>

voidmain()

(

inta,*p;

printf("请输入a:");

scanf("%d",&a);

P=&a;

if(*p<60)

printf("不及格)

elseif(*p<70)

printf("及格)

elseif(*p<80)

printf("中等”);

elseif(*p<90)

printf(“良好”);

elseif(*p<=100)

printf(“优秀,

(3)

#include<stdio.h>

voidmain()

inta,b,n,*pl,*p2;

pl=&a;p2=&b;

prjntf("****************************************\n")

printf("1,加法运算\n");

printf("2,减法运算\n");

printf("3.乘法运算\n");

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论