四川师范大学c语言实验报告.docx

上传人:b****2 文档编号:1296011 上传时间:2022-10-20 格式:DOCX 页数:60 大小:119.33KB
下载 相关 举报
四川师范大学c语言实验报告.docx_第1页
第1页 / 共60页
四川师范大学c语言实验报告.docx_第2页
第2页 / 共60页
四川师范大学c语言实验报告.docx_第3页
第3页 / 共60页
四川师范大学c语言实验报告.docx_第4页
第4页 / 共60页
四川师范大学c语言实验报告.docx_第5页
第5页 / 共60页
点击查看更多>>
下载资源
资源描述

四川师范大学c语言实验报告.docx

《四川师范大学c语言实验报告.docx》由会员分享,可在线阅读,更多相关《四川师范大学c语言实验报告.docx(60页珍藏版)》请在冰豆网上搜索。

四川师范大学c语言实验报告.docx

四川师范大学c语言实验报告

实验一数据类型和表达式实验

(验证性实验2学时)

一、目的要求:

(1)了解C语言中数据类型的意义。

(2)理解常用运算符的意义。

(3)掌握C语言表达式的运行规则。

(4)编写实验报告。

二、实验内容(参考实验指导书):

1、计算由键盘输入的任何两个双精度数据的平均值。

(1)算法描述:

将数据代入公式(a+b)/2,输出结果。

(2)源代码及说明:

#include

main()

{

doublea,b;

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

printf("%lf",(a+b)/2);

}

(3)测试数据:

26

(4)运行结果:

4.00000

(5)问题及解决方法:

问题:

格式符使用“%f”,输出结果总是0.000000。

解决方法:

格式符改为”%lf”。

2、写一个输入7个数据的程序,把输入的数据代入a+b*(c–d)/e*f–g表达式进行运算。

(1)算法描述:

将数据代入公式a+b*(c–d)/e*f–g,输出结果。

(2)源代码及说明:

#include

main()

{

inta,b,c,d,e,f,g;

scanf("%d%d%d%d%d%d%d",

&a,&b,&c,&d,&e,&f,&g);

printf("%d",a+b*(c-d)/e*f-g);

}

(3)测试数据:

1234567

(4)运行结果:

-6

(5)问题及解决方法:

3、编写一个C语言程序,测试下列各表达式:

i,j

i+1,j+1

i++,j++

++i,++j

i+++++j

(1)算法描述:

定义变量并将其分别代入各表达式中,输出结果。

(2)源代码及说明:

#include

main()

{

inti=2,j=3;

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

printf("%d%d\n",i+1,j+1);

printf("%d%d\n",i++,j++);

i=2,j=3;

printf("%d%d\n",++i,++j);

i=2,j=3;

printf("%d\n",(i++)+(++j));

}

(3)测试数据:

23

(4)运行结果:

23;34;23;34;6

(5)问题及解决方法:

问题:

没有注意变量的使用。

解决方法:

重新定义变量。

4、输入存款金额money,存期year和年利率rate,根据下列公式计算存款到期时的利息interest(税前),输出时保留2位小数。

interest=money(1+rate)year-money

(1)算法描述:

利用函数pow(),将数据代入公式interest=money(1+rate)year-money输出结果。

(2)源代码及说明:

#include

#include

main()

{

doublemoney,rate,interest;

intyear=0;

scanf("%lf%lf",&money,&rate);

scanf("%d",&year);

interest=money*pow(1+rate,year)-money;

printf("%.2lf",interest);

}

(3)测试数据:

1000.12

(4)运行结果:

21.00

(5)问题及解决方法:

问题:

求利率的多次幂

解决方法:

利用math函数库里的pow()函数

5、输入华氏温度,输出对应的摄氏温度。

计算公式如下:

c=5*(f-32)/9

其中,c表示摄氏温度,f表示华氏温度。

(1)算法描述:

将数据代入c=5*(f-32)/9,输出结果。

(2)源代码及说明:

#include

main()

{

doublec,f;

scanf("%lf",&f);

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

printf("摄氏温度为:

%lf",c);

}

(3)测试数据:

90.0

(4)运行结果:

32.222222

(5)问题及解决方法:

三、实验总结:

1.通过实验我清楚的知道了双精度型数据的格式说明符的使用。

2.学会使用pow()函数。

实验二分支结构程序设计实验

(验证性实验2学时)

一、目的要求:

(1)了解和掌握分支语句的使用,包括if语句的各种形式以及switch语句。

(2)编写实验报告。

二、实验内容(参考实验指导书):

1、编写一个程序完成输入一个整数,输出它的符号。

(1)算法描述:

if(i>0)输出“+”。

if(i<0)输出“-”。

if(i=0)输出“0”。

(2)源代码及说明:

#include

main()

{

inti;

printf("请输入一个整数:

\n");

scanf("%d",&i);

if(i>0)

{

printf("+\n");

}

elseif(i=0)

printf("0\n");

else

printf("-\n");

}

(3)测试数据:

5-6

(4)运行结果:

+-

(5)问题及解决方法:

2、请编写居民应交水费,并提供各种测试数据。

居民应交水费y(元)与月用水量x(吨)的函数关系式如下:

0x<0

y=f(x)=4x/30≤x≤15

2.5x–10.5x>15

(1)算法描述:

ifx<0=>f(x)=0;

if0<=x<=15=>f(x)=4x/3

ifx>15=>f(x)=2.5x-10.5

(2)源代码及说明:

#include

main()

{

floatx,y;

scanf("%f",&x);

if(x<0)

{

y=0;

printf("应交水费%f元\n",y);

}

elseif(x>=0&&x<=15)

{

y=4*x/3;

printf("应交水费%f元\n",y);

}

else

{

y=2.5*x-10.5;

printf("应交水费%f元\n",y);

}

}

(3)测试数据:

-1820

(4)运行结果:

0.00000010.66666735.200000

(5)问题及解决方法:

3、请根据输入的学生成绩给出成绩等级的判断,判断规则如下:

如果输入的成绩大于等于90,则输出优秀;

如果输入的成绩小于90、大于等于80,则输出良好;

如果输入的成绩小于80、大于等于70,则输出中等;

如果输入的成绩小于70、大于等于60,则输出及格;

其他输出不及格。

(1)算法描述:

ifscore>=90输出优秀

if80<=score<90输出良好

if70<=score<80输出中等

if60<=score<70输出及格

else输出不及格

(2)源代码及说明:

#include

main()

{

intscore;

scanf("%d",&score);

if(score>=0&&score<=100)

{

switch(score/10)

{

case10:

case9:

printf("优秀");

break;

case8:

printf("良好");

break;

case7:

printf("中等\n");

break;

case6:

printf("及格\n");

break;

case5:

case4:

case3:

case2:

case1:

case0:

printf("不及格\n");

break;

default:

printf("你输入的成绩非法\n")

}

}

printf("你输入的成绩非法\n");

}

(3)测试数据:

9886756453105-22

(4)运行结果:

优秀良好中等及格不及格输入不合法输入不合法

(5)问题及解决方法:

问题:

大于100的分数未给出明确结果

解决方法;在代码中加上对高于100分的限制

4、运输公司对用户计算运费。

路程(s)越远,每公里运费越低。

标准如下:

s=250km没有折扣

250km≤s<500km2%折扣

500km≤s<1000km5%折扣

1000km≤s<2000km8%折扣

2000km≤s<3000km10%折扣

3000km≤s15%折扣

设每公里每吨货物的基本运费为p,货物重为w,距离为s,折扣为d,则总运费的计算公式为:

f=p*w*s*(1–d)

请编程实现:

从键盘输入基本运费p,货物重w,距离s,计算输出用户最终需要支付的运费。

(1)算法描述:

if(s<250)d=0.0

if(s>=250&&s<500)d=0.02

if(s>=500&&s<1000)d=0.05

if(s>=1000&&s<2000)d=0.08

if(s>=2000&&s<3000)d=0.1

elsed=0.15

然后再将数据代入公式money=p*w*s*(1-d),输出money。

(2)源代码及说明:

#include

main()

{

doublep,w,s,money,d;

scanf("%lf%lf%lf",&p,&w,&s);

if(s<250)

{

d=0.0;

}

elseif(s>=250&&s<500)

{

d=0.02;

}

elseif(s>=500&&s<1000)

{

d=0.05;

}

elseif(s>=1000&&s<2000)

{

d=0.08;

}

elseif(s>=2000&&s<3000)

{

d=0.1;

}

else

d=0.15;

money=p*w*s*(1-d);

printf("总运费为:

%.2lf",money);

}

(3)测试数据:

102230

(4)运行结果:

4600.00

(5)问题及解决方法:

三、实验总结:

掌握了if和switch分支语句的使用。

实验三循环结构程序设计实验

(验证性综合性实验2学时)

一、目的要求:

(1)使用循环语句完成累乘、图像输出的程序编写。

(2)掌握较复杂结构程序的编写。

(3)掌握程序调试的方法。

(4)编写实验报告。

二、实验内容(参考实验指导书):

1、已知xyz+yzz=532,其中x、y、z都是数字(0~9),编写一个程序求出x、y、z分别代表什么数字。

(1)算法描述:

fori=1到9

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

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1