C语言程序设计课程实验报告2Word文档下载推荐.docx

上传人:b****1 文档编号:3272138 上传时间:2023-05-01 格式:DOCX 页数:108 大小:241.71KB
下载 相关 举报
C语言程序设计课程实验报告2Word文档下载推荐.docx_第1页
第1页 / 共108页
C语言程序设计课程实验报告2Word文档下载推荐.docx_第2页
第2页 / 共108页
C语言程序设计课程实验报告2Word文档下载推荐.docx_第3页
第3页 / 共108页
C语言程序设计课程实验报告2Word文档下载推荐.docx_第4页
第4页 / 共108页
C语言程序设计课程实验报告2Word文档下载推荐.docx_第5页
第5页 / 共108页
C语言程序设计课程实验报告2Word文档下载推荐.docx_第6页
第6页 / 共108页
C语言程序设计课程实验报告2Word文档下载推荐.docx_第7页
第7页 / 共108页
C语言程序设计课程实验报告2Word文档下载推荐.docx_第8页
第8页 / 共108页
C语言程序设计课程实验报告2Word文档下载推荐.docx_第9页
第9页 / 共108页
C语言程序设计课程实验报告2Word文档下载推荐.docx_第10页
第10页 / 共108页
C语言程序设计课程实验报告2Word文档下载推荐.docx_第11页
第11页 / 共108页
C语言程序设计课程实验报告2Word文档下载推荐.docx_第12页
第12页 / 共108页
C语言程序设计课程实验报告2Word文档下载推荐.docx_第13页
第13页 / 共108页
C语言程序设计课程实验报告2Word文档下载推荐.docx_第14页
第14页 / 共108页
C语言程序设计课程实验报告2Word文档下载推荐.docx_第15页
第15页 / 共108页
C语言程序设计课程实验报告2Word文档下载推荐.docx_第16页
第16页 / 共108页
C语言程序设计课程实验报告2Word文档下载推荐.docx_第17页
第17页 / 共108页
C语言程序设计课程实验报告2Word文档下载推荐.docx_第18页
第18页 / 共108页
C语言程序设计课程实验报告2Word文档下载推荐.docx_第19页
第19页 / 共108页
C语言程序设计课程实验报告2Word文档下载推荐.docx_第20页
第20页 / 共108页
亲,该文档总共108页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言程序设计课程实验报告2Word文档下载推荐.docx

《C语言程序设计课程实验报告2Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C语言程序设计课程实验报告2Word文档下载推荐.docx(108页珍藏版)》请在冰点文库上搜索。

C语言程序设计课程实验报告2Word文档下载推荐.docx

编者著

2014年6月于华中科技大学

 

2第一次实验

2.1实验目的

1.掌握C程序的编辑、链接、和运行方法。

2.通过运行简单的C程序,学会在集成开发环境中调试程序的方法。

3.熟练掌握各种运算符的运算功能,操作数的类型,运算结果的类型及运算过程中的类型转换,重点是C语言特有的运算符,例如位运算符,问号运算符,逗号运算符等等;

熟记运算符的优先级和结合型。

4.掌握getchar,putchar,scanf和printf函数的用法。

5.掌握简单的C程序的编写方法。

2.2实验内容

(一)设计一个程序,在字符模式下,以某个字符拼出“王”汉字图形,显示输出。

【源程序2.1】

#include<

stdio.h>

intmain(void)

{

puts("

oooooooo"

);

oo"

return0;

}

运行结果:

在显示屏上以字符o的形式输出“王”,如图2.1所示。

图2.1程序2.1运行结果

(二)输入一个华氏温度,要求输出摄氏温度。

公式为c=5/9*(f-32)。

【源程序2.2】

#include<

intmain(void)

{

floatf,c;

printf("

InputtheFahrenheit:

"

scanf("

%f"

&

f);

c=(f-32)*5/9;

TheCelsiusis%f."

c);

}

运行结果如表2.1所示。

表2.1程序2.2测试数据

输入

输出

理论值

-13

-25.000000

-17.777778

32

0.000000

49.9

9.944445

过程记录:

刚开始时“c=(f-32)*5/9;

”这个语句写的是“c=5/9*(f-32);

”,发现结果都是0,原来根据运算顺序最先计算5/9,取整后变为0,故需调整一下顺序。

(三)设计3种算法,完成交换整型两个变量值的程序。

【源程序

intmain(void)

{

inta,b,t;

printf("

Inputtwointegers:

scanf("

%d%d"

a,&

b);

t=a,a=b,b=t;

printf("

%d,%d"

a,b);

return0;

}

运行结果如表

表2.2.1程序

0-1

-1,0

-90

0,-9

-107

7,-10

inta,b;

a=a+b;

b=a-b;

a=a-b;

%d,%d"

运行结果如表

表2.2.2程序

89

9,8

90

0,9

-3-8

-8,-3

scanf("

a=a^b;

b=a^b;

表2.2.3程序

0-7

-7,0

8-9

-9,8

99

9,9

本实验中分别用中间变量、算术运算和位运算三种方法实现了交换两个整型变量的值。

(四)设计一个程序,完成如下功能:

输出一个三位数,将它反向输出。

如输入127,输出721。

【源程序2.4】

inta,b,c,x;

Inputthreefiguresplease!

\n"

%d"

x);

a=x/100;

b=(x-a*100)/10;

c=x%10;

%d%d%d"

c,b,a);

运行结果如表2.3所示

表2.3程序2.4的测试数据

127

721

999

979

(五)设计2种完成计算MAX{x,y,z}的程序。

{

floata,b,c,max;

Inputthreeintegers:

%f%f%f"

b,&

c);

if(a>

=b&

&

a>

=c)max=a;

if(b>

=a&

b>

=c)max=b;

if(c>

c>

=b)max=c;

max=%f"

max);

表2.4.1程序

-9-1-5

-1.000000

90-7

9.000000

-998

max=a>

b?

(a>

c?

a:

c):

(b>

b:

表2.4.2程序

-9.9-6-563846

-6.000000

79.088.9

88.900000

-9-8-7

-7.000000

本实验中分别用if语句和条件运算符实现了求三个数中最大值。

(六)设计一个程序,完成计算3个数的居中数。

【源程序2.6】

floata,b,c,m;

m=a>

((a>

c)?

a):

c:

b));

middle=%f"

m);

运行结果如表2.5所示

表2.5程序2.6的测试数据

123

2.000000

-80-7

099.9

(七)设计计算一元二次方程的根的程序。

【源程序2.7】

math.h>

floata,b,c;

doublex,y,m;

Inputa,b,cplease!

m=b*b-4*a*c;

if(a!

=0)

if(m>

{

x=(sqrt(m)-b)/2/a;

y=(-sqrt(m)-b)/2/a;

printf("

x=%lf,y=%lf\n"

x,y);

}

else

Noanswer!

else

printf("

Theequationisn'

tquadratic.\n"

运行结果如表2.6所示

表2.6程序2.7的测试数据

056

tquadratic.

132

x=-1.000000,y=-2.000000

256

121

x=-1.000000,y=-1.000000

亮点:

能够判断方程是否为二次方程,也能判断有无实根。

(八)根据任意三角形的面积公式(海伦公式):

S=√p(p-a)(p-b)(p-c),其中,p=(a+b+c)/2,,设计一个程序计算任意三角形的面积。

【源程序2.8】

{

floata,b,c,s,t;

doublearea;

Inputthreeedgeofthetriangle\n"

if(a+b>

c&

a-b<

b-a<

c)

s=(a+b+c)/2;

t=s*(s-a)*(s-b)*(s-c);

area=sqrt(t);

area=%f\n"

area);

Thetriangleisn'

tlegal!

运行结果如表2.7所示

表2.7程序2.8的测试数据

345

6.000000

126

789

26.832816

亮点:

能够判断输入的三角形是不是合法的。

(九)编写一个程序,输入字符c。

如果c是大写字母,则将c转换成对应的小写,否则c的值不变,最后输出c。

【源程序2.9】

charc;

Inputaletter:

c=getchar();

c=(c>

='

A'

c<

Z'

)?

(c+'

a'

-'

):

c;

putchar(c);

运行结果:

输入‘a’时输出‘a’,输入‘A’时输出‘a’。

(十)编写一个程序,输入无符号短整数x,m,n(0≤m≤15,1≤n≤16-m),取出x从第m位开始向左的n位(m从右至左编号为0~15),并使其向左端(第15位)靠齐。

【源程序2.10】

unsignedshortx,m,n,y;

Inputx,mandnplease!

%hu%hu%hu"

x,&

m,&

n);

if(m>

=0&

m<

=15&

n>

=1&

n<

=16-m)

{

y=(x<

<

16-m-n)&

(0xffff<

16-n);

0x%x"

y);

}

else

error"

运行结果如表2.8所示

表2.8程序2.10的测试数据

输入

输出

理论值

x

m

n

255

3

4

0xf000

15236

6

0xe000

45462

9

8

error

能够判断m,n输入是否合法,若不合法输出提示信息“error”。

(十一)IP地址通常是4个用句点分隔得小整数(即点分十进制),如,以及其存储的形式的形式是读入一个互联网IP地址对其译码,然后用常见的句点分隔的4部分的形式输出。

【源程序2.11】

unsignedlongx,a,b,c,d;

d=x&

0xff;

c=(x&

0xff00)>

>

8;

b=(x&

0xff0000)>

16;

a=(x&

0xff000000)>

24;

%lu.%lu.%lu.%lu\n"

d,c,b,a);

输入1,输出

2.3实验小结

第一次编程,感觉是挺新奇的,不过毕竟是第一次实践,总是有这样或那样的问题,比如总是忘记在scanf语句中加“&

”表示变量的内存地址,时不时少个“;

”或“}”,这种小毛病还真要上机才能改过来。

算法方面也总是有这样那样的问题,不过经过自己的检查和与同学的讨论总算是都解决了,最后看着自己编的程序一个个都能运行时那种欣喜的感觉,我想就像母亲看到孩子成才了一样吧。

这是我编程生涯的开始,希望以后能越做越好!

3第二次实验

3.1实验目的

1.掌握复合语句、if语句、switch语句的使用;

2.熟练运用for、while、do-while语句来编写程序;

3.掌握重复循环技术。

3.2实验内容

(一)设计一个计算个人所得税的程序。

【源程序3.1】

doublex,y;

do{

Inputtheamountofyourincome:

%lf"

y=x-3500;

}while(y<

-3500);

if(y<

0)

y=0;

elseif(y<

1500)

y=y*0.03;

4500)

y=y*0.1-105;

9000)

y=y*0.2-555;

35000)

y=y*0.25-1005;

55000)

y=y*0.3-2755;

80000)

y=y*0.35-5505;

elsey=y*0.45-13505;

printf("

Theindividualincometaxis%lf"

return0;

运行结果如表3.1所示。

表3.1程序3.1测试数据

实际输出

理论输出

-4000

2000

Theindividualincometaxis0.000000

4000

Theindividualincometaxis15.000000

6000

Theindividualincometaxis145.0000000

9999

Theindividualincometaxis744.800000

20000

Theindividualincometaxis3120.000000

46578

Theindividualincometaxis10168.400000

79868.8

Theindividualincometaxis21224.080000

100000

Theindividualincometaxis29920.000000

如果输入收入为负值,则会要求再次输入。

(二)计算两个自然数的最大公约数和最小公倍数。

【源程序3.2】

intm,n,i,j,x,y,a,b;

Inputtwonaturalnumbers:

scanf("

if(m<

=0||n<

Inputerror!

else{

i=(m>

n)?

n:

m;

j=(m>

m:

n;

for(;

x||y;

--i){

x=m%i;

y=n%i;

a||b;

++j){

a=j%m;

b=j%n;

%dand%d'

sGCDis%dandLCMis%d\n"

m,n,i+1,j-1);

运行结果如表3.2所示。

表3.2程序3.2测试数据

-32

03

10060

100and60'

sGCDis20andLCMis300

3.57

能够判断输入的是否是自然数。

(三)输入一个数n(≥2),判定n是否为素数。

【源程序3.3】

in

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2