C语言学习与应用课后习题答案 任务1-12 (北邮)(高职)_第1页
C语言学习与应用课后习题答案 任务1-12 (北邮)(高职)_第2页
C语言学习与应用课后习题答案 任务1-12 (北邮)(高职)_第3页
C语言学习与应用课后习题答案 任务1-12 (北邮)(高职)_第4页
C语言学习与应用课后习题答案 任务1-12 (北邮)(高职)_第5页
已阅读5页,还剩129页未读 继续免费阅读

下载本文档

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

文档简介

C语言学习与应用课后习题答案任务1-12(北邮)

学习任务一参考答案

问题1-1:参照例1-1编写程序实现显示Helloworld!的功能。

#includeustdio.h"

voidmain()

(

printf(uHelIoworld!\n");

getchar();

)

问题1-2:参照图17,在程序中设置一个错误,然后在VC中进

行调试,体验修改程序的过程。

设置的错误是:printf(“我的第一个C程序\n”);使用了中

文分号。

编译显示是:D:\11\2其2\2.cpp(4):errorC2018:unknown

character'0xa3'

D:\11\2其2\2.cpp(4):errorC2018:unknowncharacter

'Oxbb'

D:\11\2其2\2.cpp(5):errorC2064:termdoesnot

evaIuatetoafunction

Errorexecutingcl.exe.

2.obj-3error(s),0warning(s)

调试体会是:必须使用英文分号

编程训练1-2-1编写程序输出如下字串,请将代码补偿完整。

输出:天津现代职业技术学院

XX专业XX班

姓名:XXX

#include“stdio.h"

voidmain()

{printf(“天津现代职业技术学院\n”);

printf(u信息专业G12-1班\n");

printf(u姓名:高朋飞\n”);

getchar();

编程训练1-2-3程序改错

#incdude"stdio.h"//1处错误,分别是incdude

改为include

voidmianO//1处错误,分别是mian

改为main

(

Print(“我的第一个C程序\n”);〃4处错误,分别是printf

和引号,分号

gatcharO;//1处错误,分别是应是

getchar();

)

编程训练1-2-4按要求修改程序

输出:

*天津现代职业技术学院*

*XX专业XX班*

*姓名:XXX*

修改后的程序文件

#include"stdio.hH

voidmain()

(

printI\不本不不不不不不不不不不不不不不不不不不不不不不\n);

printfC*天津现代职业技术学院*\n");

printf("*信息专业G12-1班*\n");

printfC*姓名:高朋飞*\n");

prIDLT\不¥不¥¥亭¥亭亭亭亭K51c1c亭亭亭¥¥亭亭\n);

getchar();

}

任务测试模拟试卷选择题参考答案

1.BDBDC

改错题参考答案

1.错误是:文件创建错误,不是“任务2.h”,应是“任务2.cpp”

的文件

2.错误是:第四行末尾少分号

编程题参考答案

1.

#include"stdio.h"

voidmain()

printf(“富强、民主、文明、和谐\n”);

printf(”自由、平等、公正、法治\n");

printf("爱国、敬业、诚信、友善\n”);

printf("社会主义核心价值观\n“);

}

2.

#include"stdio.h"

voidmain()

(

printf("*\n");

printf("***\n");

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

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

getchar();

学习任务二参考答案

问题2-1:判断哪些是正确的标识符

正确的标识符:a、area、_1234_、Mainint_1_2xint_2_%_2Testx

dat

错误的标识符:2_int_v3Dmaxxlong

问题2-2:已知a=10,b=3计算下列表达式的值

a/b+a%b4

a-3*a/b%39

1.0/a+b3.1

问题2-3:分析下面语句的功能

printf("%c”,a);.......以字符型输.出变量月•的值........

scanf(u%c&b);.........输入二个.字.符赋给变量上........

printf(“%-5dc);•…,左对齐宽度为。输出整型变量G的值…

问题2-4:编写程序实现输入三个整数,然后输出它们的平均数。

#incIude"stdio.h"

voidmain()

(

inta,b,c;

doubIeave;

printf(”请输入三个整数:”);

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

ave=(doubIe)(a+b+c)/3;

printf("这三个数是:a=%d,b=%d,c=%d\n",a,b,c);

printf(”他们的平均数是:ave=%f",ave);

getchar();

getchar();

问题2-5:判断下列哪些是正确的赋值表达式

a=2+7/3正确

a=b=7+1定确

a+b=c错误

a=7+1=b错误

问题2-6:依次执行完下面的语句后,x,y,z的值分别是多少?

10,0,9

编程训练2-1-1

#include"stdio.h"

voidmain()

(

printf("体重质量指数简称为体重指数(bodymassindex,BMI)

\n");

printf(”体重指数二体重(千克)除以身高(米)的平方\n”);

printf("正常体重:体重指数口8-25\n");

print"'超重:体重指数=25-30\n");

printf("轻度肥胖:体重指数>30\n”);

printf(“中度肥胖:体重指数>35\rT);

printf(”重度肥胖:体重指数>40\n”);

getchar();

)

编程训练2-1-2

#incIude"stdio.h"

voidmain()

(

doubleheight,weight,bmi;//定义double

型变量height,weight和bmi

printf(“请输入身高(米)和体重(千克));

scanf(u%lf%lf,J,Sheight,&weight);

bmi=weight/(height*height);//计算bmi

printf(“身高:%.2f米,体重:%.2f千克,体重指

数:%.2f\n",height,weight,bmi);

getchar();

)

编程训练2-1-3

#incIude"stdio.h"

voidmain0

doubleheight,weight,bmi;

while(1)

(

printf(“请输入身高(米)和体重(千克):");

scanf(u%lf%lf,J,&height,&weight);

bmi二weight/(height*height);

printf(“身高:%.2f米,体重:%.2千千克,体重指

数:%.2f\n”,height,weight,bmi);

1

getchar();

)

编程训练27-4

#include"stdIib.h"

#incIude"stdio.h"

voidmain()

(

charname[10],sex;

intage;

doubIeheight,weight,bmi;

while(1)

system("cIs");

printf("体重质量指数(bodymassindex,简称BMI)\n");

printf(”体重指数二体重(千克)除身高(米)的平方kg/m2\n");

printf("正常体重体重指数=18-25\n”);

printf("超重体重指数=25-30\n”);

printf("轻度肥胖体重指数>30\n");

printf("中度肥胖体重指数>35\n");

printf(“重度肥胖体重指数>40\n");

printf("\n********以下是输入信息*******\n”);

printf("姓名:”);

gets(name);

printf(”性别:“);

scanf("%c",&sex);

printf(“年龄:”);

scanf("%d",&age);

printf("体重(千克):”);

scanf("%lf",&weight);

printf("身高(米):”);

scanf&height);

bmi=weight/(height*height);

printf(”\n********以下是输出信息*******\n”);

printf("*姓名:%6s*\n",name);

printf("*性别:%c*\n",sex);

printf("*年龄:%d*\n",age);

printf("*体重:%.2f千克*\n",weight);

printf("*身高:%.2f米*\n",height);

printfC*你的体重指数:%.2lf*\n",bmi);

pri.nt।Ir(f11亭亭亭亭不亭亭不亭亭不亭不亭亭不不不不不不«x*不«jz不«x*不不不«x*亭不不\\n11\);

getchar();

getchar();

)

)

任务二数据交换

(2)

#include"stdio.h"

voidmain()

(

intx,y,t;

printf("请输入两个整数x和y:");

scanf("%d%d",&x,&y);

printf("交换前:x=%d,y=%d\n",x,y);

t=x,x=y,y=t;

printf("交换后:x=%d,y=%d\n",x.y);

getchar();

getchar();

)

(3)t=x,x=y,y=t;

任务测试模拟试卷参考答案

—x1.BCDAB6.ADAAC11.DACCD16.DBAAB

二、1.1,2,3

2.10X回车20Y回车

3.double

4.6、3

5.a-a-(a+b)

6.6.6

7.a=%d\nb=%d

8.a=15

9.2,1

ZZ.\

1.(1)(1)x=7.865000

(2)x=7.870000

(2)(1)x=7.862000

(2)x=7.860000

(3)无数次

2.(1)不需要

(2)65,A,101,41

(3)65,A,101,41

四、

1.

#include"stdio.h"

voidmain()

(

doublex,y,z,t;

printf(”请输入三个实型数:");

scanf(n%If%If%If",&x,&y,&z);

t=x,x=y,y=z,z=t;

printf("x=%.1f,y=%.1f,z=%.1f\n",x,y,z);

getchar();

]

2.

#incIude"stdio.h"

#include"math,h"

voidmain()

doubIex,y,z,t,s;

printf("请输入三角形三边长:”);

scanf("%lf%lf%lf",&x,&y,&z);

t=(x+y+z)/2;

s=sqrt(t*(t-x)*(t-y)*(t-z));

一printf("三角形的面积为%f",s);

getchar();

getchar();

)

学习任务三参考答案

问题3T:计算下表中关系表达式的值

关系表达关系表达关系表达关系表达

式式的值式式的值

'a'<=971'A’!=650

‘a'<'b'<c%'>lb'>'a

10

12%3=4012/3=41

(int)5.6<5.617.0/2>31

问题3-2:设变量已定义,且:c='A1,x=25,计算下表中表

达式的值

表达表表达表达表达表达

式达式的式的类型式式的值式的类型

!3.60逻辑5>100逻辑

&&5<8

!x||1逻辑5>0|1逻辑

c|4>2

'A'1逻辑x%2二1关系

<=c&&c<==1

'Z'

c=5|1赋值x/212具木

|3

问题3-3

(2)

#includenstdio.h"

voidmain()

intx,jdz;

printf(”请输入一个整数x:");

scanf("%d",&x);

if(x>=0)

(

jdz=x;

1

eIse

(

jdz=-x;

)

printf("x的绝对值是:%d\n",jdz);

getchar();

getchar();

)

问题3-4

输入大写字母则装换为相应的小写字母输出,输入小写字母则原

样输出

问题3-5

输入92,输出结果为:g=92:A

B

C

D

E

如果只输出字符'A',需要在每个switch语句内的每个printf

语句后面加上break语句。

编程训练3-1-1

#incIude"stdio.h

voidmain()

{

inta,b,max;

printf(“请输入两个整数:”);

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

if(a>b)

(

max=a;

)

eIse

(

max二b;

)

printf("这两个数中较大的是:%d\n",max);

getchar();

getchar();

编程训练3-1-2

编程训练3-1-3

#include"stdio.h"

voidmain()

(

inta,b,c,max;

printf("请输入三个整数:”);

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

if(a>b)

(

max=a;

)

eIse

(

max=b;

1

if(c>max)

(

max=c;

)

printf("这三个数中较大的是:%d\n”,max);

getchar();

getchar();

)

编程训练3-1-5

#incIude"stdio.h”

voidmain()

(

inta,b,c,max;//定义四个整型变量

printf(“请输入三个整数:”);

scanf("%d%d%d",&a,&b,&c);//输入三个整数赋给a,b,c

max=a>b?a:b;//用条件表达式将a,b的较大值赋给max

max=max>c?max:c;

printf("最大数是:%dmax);

getchar();

)

编程训练3-2-2

测输入数据输出

试顺序

13+53+5=8

213#5依据提示重新输入

332-932-9=23

该程序的功能是:计算输入的加减法算式,并显示结果。

编程训练3-2-3

#include"stdio.h"

voidmain()

(

intx,y,z;

charc;

do

(

printf("请输入如3+5这样的算术式并按enter:\n");

scanf("%d%c%d",&x,&c,&y);

}while(c!='+'&&c!='—’&&c!=’*'&&/='/');

switch(c)

(

case'+':z=x+y;break;

case:z=x-y;break;

case':z=x*y;break;

case'/':z=x/y;break;

)

printf("%d%c%d=%d\n",x,c,y,z);

)

编程训练3-2-4

程序功能:算术运同组测试人:

^算器

测试输入预期输出实际输出

顺序数据

145+345+3=4845+3=48

245?3依据提示依据提示

重新输入重新输入

3890/890/20=4890/20=44

204

490-90-67=2390-67=23

67

59p6依据提示依据提示

重新输入重新输入

67*87*8=567*8=56

需要说明的问题:C变量只接收+、-、*、/这样的运算

符,否则提示重新输入。

编程训练3-2-5

#include"stdio.h

voidmain()

doubIex,y,z;

charc;

while(1)

printf(”请输入如3+5这样的算术式并按enter:\n");

scanf("%lf%c%lf",&x,&c,&y);

}whiIe(c!=,+,&&c!='-'&&c!=**'&&c!='/');

switch(c)

(

case:z=x+y;break;

case:z=x-y;break;

case':z=x*y;break;

case'/':z=x/y;break;

)

printf("%f%c%f=94f\n",x,c,y,z);

)

}

任务测试模拟试卷参考答案

一、1.DCDBD6.DBDCD11.BBCBA

二、1.假真

2.真假

3.01

4.x>5||x<-5

5.a:bc:t1

6.pass

7.b大写字母转小写字母

8.0

9.编译出错

10.a=-1,b=-1,c=0

11.a=0,b=0,c=2

12.a!=0a>0||a<0a

13.max=4

三、

1.

#include"stdio.h"

voidmain()

{

intyear;

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

scanf("%d",&year);

if((year%4=0&&year%100!=0)||year%400=0)

printf("%d是闰年\n",year);

)

else

(

printf("%d不是闰年\n”,year);

)

getchar();

)

2.

#include"stdio.h"

voidmain()

(

doubIescore;

printf(”请输入一个成绩:”);

scanf("%lf",&score);

if(score>=0)

(

switch((int)score/10)

(

case10:

case9:printf("A\n");break;

case8:printf("B\n");break;

case7:printf(nC\n");break;

case6:printf("D\n");break;

default:printf("E\n");break;

)

)

eIse

{

printf("错误!成绩不能为负值!");

)

getchar();

getchar();

)

学习任务四参考答案

问题4T:使用当型循环结构编写程序计算10!的值,即1〜10的自

然数之积。

(1)绘制程序框图:

(2)编写程序代码:

#include"stdio.h"

voidmain()

inti,s;

i=1;

s=1;

while(i<=10)

(

s*=i;

i++;

}

printf(n10!=%d",s);

getchar();

)

问题4-2使用直到型循环结构编写程序,计算1—100的所有偶数之

和。

(1)绘制程序框图:

(2)编写程序代码:

#include"stdio.h"

voidmain()

inti,s;

i二0;

s—0;

do

(

s+=i;

i=i+2;

}while(i<=100);

printf("1"100所有偶数和二%d”,s);

getchar();

}

问题4-3使用for循环结构编写程序,计算1〜100的所有奇数之和。

(1)绘制程序框图:

(2)编写程序代码:

#include"stdio.h"

voidmain()

(

inti,s;

s=0;

for(i=1;i<=100;i=i+2)

(

s+=i;

)

printf所有奇数和%d”,s);

getchar();

)

问题4-4使用循环嵌套编写程序使其输出如下图形。

*

**

***

****

#include"stdio.h"

voidmain()

(

inti,j;

for(i=1;i<=6;i++)

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

printf("*");

)

printf("\n");

)

getchar();

问题4-5补充程序,实现输出1〜50中能被7整除的数的功能,并

画出流程框图。

#include"stdio.h'

voidmain()

{inti;

for(i=1;i<=50;i++)

{if(i%7!=0)

continue;

printf("%d\n";i);

1

1

绘制程序框图:

i++

编程训练477计算1〜n的自然数之和。

#incIude"stdio.h"

voidmain()

(

inti,s=0,n;

printf(”请输入一个正整数:");

scanf("%d",&n);

for(i=1;i<=n;i++)

s十二i;

printf("s=%d",s);

1

次输入期望实际输

数数据输出值出值

151515

2105555

310050505050

编程训练4T-2计算1-n的倒数之和。

#include"stdio.h"

voidmain()

(

inti,n;

doubIes=0;

printf(”请输入一个正整数:");

scanf("%d",&n);

for(i=1;i<=n;i++)

s+=1.0/i;

printf("s=%f",s);

)

次输期望实际输出

数入数据输出值值

121.51.500000

231.831.833333

352.282.283333

编程训练4-1-3计算1-n内的奇数的倒数和。

#include"stdio.h"

voidmain()

inti,n;

doubIes=0;

printf(”请输入一个正整数:“);

scanf("%d",&n);

for(i=1;i<=n;i=i+2)

s+=1.0/i;

printf("s=%f",s);

)

次数输入数期望愉出实际输出值

据值

121.001.000000

231.331.333333

351.531.533333

4101.791.787302

编程训练4-1-4正负相间问题,计算:1-1/3+1/57/7+1/9-…1/n

#incIude"stdio.h"

voidmain()

(

inti,n,f=1;

doubIes=0;

printf(”请输入一个正整数:“);

scanf("%d",&n);

for(i=1;i<=n;i=i+2)

s=s+f*1.0/i;

f=-1*f;

)

printf("s=%f,4*s=%f",s,4*s);

次输入数1/ns输出值4*s输出

数据的值值(n)

11003.121595

2100003.141393

35000003.141589

410000003.141591

编程训练47-5

#incIude"stdio.h

voidmain()

(

inti,f=1;

doubIes=0,e;

printf(”请输入计算精度:”);

scanf(n%lf",&e);

for(i=1;1.0/i>=e;i=i+2)

s=s+f*1.0/i;

f=-1*f;

)

printf(,,4*s=%f*,,4*s);

)

次输入数据输出值

数e4*s(n)

10.013.121595

20.00013.141393

30.0000023.141589

40.0000013.141591

编程训练47-6

错误原因是:每次循环开始没有给s赋初值,导致s的值不断累加。

应改为:在whiIe循环开始的时候加上s=0

任务二输出九九表

(2)方形的九九表代码

#include"stdio.h

voidmain()

(

inti,j;

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

(

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

(

printf("%d*%d=%2d",j,i,i*j);

)

printf("\n");

)

1

(3)输出下三角型的九九表

#include"stdio.h"

voidmain()

(

inti,j;

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

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

printf("%d*%d=%2d",jfi,i*j);

)

printf("\n");

(4)为输出增加修饰

#include"stdio.h"

voidmain()

(

inti,j;

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

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

(

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

(

printf("%d*%d=%2d",j,i,i*j);

)

printf("\n");

)

printf("**************\p");

getchar();

}

(5)调试

之前执行程序的窗口没有关闭,导致exe文件无法更新。

把321.exe执行窗口关闭。

任务测试模拟试卷参考答案

一、选择题

1.AACCB6.BBCAC11.ADCDA16.BBDDA

二、填空题

1.54321

2.##2##4

3.k〈二nk++

4.18

5.i<=9j%3!=0

6.1

7.break

8.s<3000

三、改错题

i++改为i—

continue改为break

四、编程题

1.

#include"stdio.h"

voidmain()

(

inti,n,s=1;

printf(”请输入一个正整数:");

scanf("%d",&n);

for(i=1;i<=n;i++)

(

s*=i;

)

printf("%d!等于%d\n",n,s);

1

2.

#include"stdio.h"

voidmain()

{inta=12,b=20,x;

for(x=1;x<100;x++)

if((32+x)==2*(12+x))

break;

printf("%d年后,爸爸年龄是小红的二倍”,x);

)

或者:

#include"stdio.h"

voidmain()

(

intxh=12,father,i;

father=xh+20;

for(i=0;;i++)

(

if(father/xh=2&&father%xh==0)

break;

xh++;

father++;

}

printf(”%d年后,爸爸年龄是小红的二倍\n”,i);

)

学习任务五参考答案

问题5-1:输入正方形的边长,求面积的函数解法,请将代码补

充完整。。

#include"stdio.h"

doublefun(double);

voidmain()

{doublea,area;

printf(”请输入正方形的边长:");

scanf("%lf",&a);

area=fun(a);

printf("area=%lf\n",area);

doubIefun(doubIex)

doubles;

s=x*x;

returns;

问题5-2:模仿应用举例5-2,编写一个函数isprime(inta)判

断a是否为素数,并在主函数中输出100以内的非素数之和。

#include"stdio.hH

#include"math,h"〃包含数学函数的头文件

intisprime(inta)

(

inti;

for(i=2;i<=sqrt(a);i++)

if(a%i=0)

return0;

return1;

)

voidmain()

{

inti,s=0;

for(i=1;i<=100;i++)

if(isprime(i)=0)

s=s+i;

printf("s=%d\n",s);

getchar();

)

程序执行结果:s—3989

编程训练5TT输入两个整数,输出较大数,只由main函数

实现

#incIude"stdio.h"

voidmain()

intx,y,max;

printf(”请输入两个整数:\nM);

scanf("%d%d",&x,&y);

if(x>y)

max=x;

eIse

max二y;

printf("较大值是:%d\n",max);

)

编程训练5-1-2建一个无参数的函数,将主函数中的代码全部

转移到自定义函数中,

#incIude"stdio.h"

void缶ax()〃自定义函数

{//将原来主函数中的内容全部搬来.

intx,y,max;

whiIe⑴

(

printf(“请输入两个整数:\n");

scanf("%d%d",&x,&y);

if(x>y)

max=x;

eIse

max二y;

printf("较大值是:%d\n",max);

)

)

voidmain()

(

fmax();//主函数中仅一条函数调用语

)

编程训练5-1-3编写带参数的函数。

#incIude"stdio.h"

intfmax(inta,intb)//自定义函数

(

intm;

if(a>b)

m=a;

eIse

m=b;

returnm;//函数返回值

)

voidmain()

(

intx,y,max;

while(1)

(

printf(”请输入两个整数:\n");

scanf("%d%d",&x,&y);

max=fmax(x,y);〃调用函数

printf("较大值是:%d\n",max);

)

)

编程训练5-1-4借用上面的fmax函数实现输入三个整数,输

出较大数的程序设计。

#include"stdio.h"

intfmax(inta,intb)

(

intm;

if(a>b)

m=a;

eIse

m二b;

returnm;

)

voidmain()

intx,y,z,max;

while(1)

(

printf(“请输入三个整数:\n");

scanf("%d%d%d",&x,&y,&z);

max=fmax(x,y);〃第一次调用函数,将x,y间的

较大值赋给max

max=fmax(max,z);//第二次调用,用max与z间的较

大值更新max

printf("较大值是:%d\n",max);

)

)

编程训练5-1-5编写fun(x)函数,函数值是x的绝对值。

#include"stdio.h"

intfun(intx)

(

inty;

if(x>=0)

y=x;

eIse

y=-x;

returny;

1

voidmain()

(

intx,y;

printf("请输入一个整数:\n");

scanf("%d",&x);

y=fun(x);//调用函数获得x的绝

对值赋给V

printf("|%d|=%d\n';x,y);

)

编程训练5-2-1编写fun1函数,并通过主函数对函数的调用

调试通过。

//intfunKintn),n为正整数,函数值为之奇数和。

#include"stdio.h"

intfun1(intn)

(

inti,sum=0;

for(i=1;i<=n;i++)

{if(i%2=0)

continue;

eIse

sum=i+sum;}

returnsum;

1

voidmain()

(

printf("%d\n",fun1(10));

)

测试顺fun1(x)输出

1fun1(5)9

2fun1(10)25

编程训练5-2-2编写fun2函数,并通过主函数对函数的调用调试通

过。

//intfun2(intn),n为10以内的正整数,函数值为n的阶

乘。

#include"stdio.h"

intfun2(intn)

inti,s=1;

for(i=1;i<=n;i++)

s=s*i;

returns;

voidmain()

(

intn;

do{〃此循环用于剔除不合格的输入

printf(”请输入一个正整数:");

scanf("%d",&n);

}while(n<1||n>10);

printf(n%d!=%d\n",n,fun2(n));

程序运行结果:

测试顺fun2(x)输出

1fun2(5)5!=120

2fun2(10)10!=3628800

编程训练5-2-3编写fun3函数。

//doublefun3(intn),n为正整数,函数值为1/1T/3+1/57/7+…

1/n之值。

#include"stdio.h"

doubIefun3(intn)

(

.jnti,f=1;

doubles=0;

for(i=1;i<=n;i=i+2)

{s=s+f*1.0/i;

f=-f;!

returns;

)

voidmain()

printf("%lf\n",fun3(5));

程序运行结果:

测试顺fun3(x)输出

1fun3(5)0.866667

2fun3(10)0.834921

编程训练5-2-4用上面三个函数建立一个函数库

头文件lx.h的内容为:

intfun1(intn)

(

inti,sum=O;

for(i=1;i<=n;i++)

{if(i%2=0)

continue;

eIse

sum=i+sum;}

returnsum;

)

intfun2(intn)

(

inti,s=1;

for(i=1;i<=n;i++)

s=s*i;

returns;

1

doublefun3(intn)

inti,f=1;

doubles=0;

for(i=1;i<=n;i=i+2)

{s=s+f*1.0/i;

f=-f;!

returns;

)

程序运行结果:

测试顺输入输出

1-5的奇数和为:9

5!二120

15

1/1-

1/3+1/5-..1/5=0.866667

1T0的奇数和为:25

101=3628800

210

1/1-

1/3+1/5-...1/10=0.834921

任务测试模拟试卷选择题参考答案

1.AAADC6.CCDCC

填空题参考答案

1.#includemath.hintpow(n,x)

2.<stdio.h>doubleint01.0/(i*i)6*s

改错题参考答案

#include"stdio.h"

#incIude"math,h"

/******found******/

intisprime(inta)

inti;

for(i=2;i<=sqrt(a);i++)

/******found******/

if(a%i==0)

return0;

return1;

}

voidmain()

{

/******found******/

ints=0,i;

for(i=100;i<=200;i++)

/******found******/

if(isprime(i))

s=s+i;

printf("100-200的素数和是:%d\n",s);

)

编程题参考答案

1.

#include"stdio.h"

doubIefun(doublex,doubley)

{if(x>y)

returny;

eIse

returnx;

)

voidmain()

{doubIea,b,m;

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

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

m=fun(a,b);

printf("较小数是;

)

2.

#incIude"stdio.h"

intfun(intx,intn)

{inti,s=1;

for(i=1;i<=x;i++)

s=s*n;

returns;

}

voidmain()

{inta,b,m;

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

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

m=fun(a,b);

printf("%€1的%€1次方是:%d\n",b,a,m);

)

学习任务六参考答案

问题67:写出以下程序代码的输出结果。

4,3

问题6-2:模仿应用举例6-2,顺序输出数组中的各元素。

#incIude"stdio.h"

voidmain()

{inta[10]={1,2,3,4,5,6,7,8,9,10),*p=&a[0],*q=&a[9];

while(p<=q)

printf("%d",*p++);

getchar();

)

程序执行结果:12345678910

编程训练6TT借用指针变量的数据输入/输出操作。

#include"stdio.h"

voidmain()

{

intx,*p;

P=&x;

printf("请输入一个整数:”);

scanf("%d",p);〃请勿填写&x哦

printf(nx=%d\n",*p);〃请勿填写x哦

1

程序运行结果:

测试顺输入数据输出

135x=35

2-98x=-98

编程训练6T-2:借用指针变量实现的按顺序输出数据。

#include"stdio.h"

voidmain()

intx,y,*pmax,*pmin;〃再定义两个指针变量pmax

和pmin

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

scanf(u%d%dJ,,&x,&y);〃输入两个整数赋给x和y

if(x>y)〃较大值的地址赋pmax,较

小值地址赋pmin

{pmax=&x;

pmin-&y;

)

eIse

{pmax=&y;

pmin=&x;

)

printf("按由大到小的顺序输出是:%d,%d\n",*pmax,*pmin);

1

程序运行结果:

测试顺输入数据输出

13579按由大到小的顺序输出是:

79,35

27935按由大到小的顺序输出是:

79,35

编程训练6-2-1:主函数与函数间的值传递。

输入数据输出

5678回车x=56,y=78

swap函数的意图是:对x和y进行交换

主函数中x,y不能交换的原因是:实参传给形参

的是值,是值的拷贝

编程训练6-2-2:实参是变量的地址。

#inclu

温馨提示

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

评论

0/150

提交评论