c语言程序设计方法实验报告,C语言程序设计实验报告(三)

C程序设计实验报告

实验项目:第四章实验 4.3.1箱子形状;4.3.2优惠政策;4.3.3计算月份天数;4.3.4自动售货机;4.3.5分析程序

姓名:彭佳乐

实验地点:家

实验时间:2020年3月25日

一、实验目的与要求

1、掌握C语言逻辑值的表示方法(0代表“假”,1代表“真”)。

2、学会正确的使用关系表达式和逻辑表达式。

3、掌握各种形式的if语句语法和使用方法,if语句if与else的匹配关系,以及if语句的嵌套。

4、熟练掌握switch语句的语法和使用方法,注意在switch语句中break语句的用法以及switch语句的嵌套。

二、实验内容

1、实验练习:箱子形状

(1)问题的简单描述:读入3个表示箱子长、宽、高的整数值,判断并输出该箱子是正方体还是长方体。

(2)实验代码:#include

int main()

{

int l,w,h;

printf("请输入箱子的长、宽、高:\n");

scanf("%d%d%d",&l,&w,&h);

if(lw&&wh&&l==h)/如果长、宽、高、相等,则为正方形/

printf("该箱子是正方体。\n");

else

printf("该箱子是长方体。\n");

return 0;

}

(3)问题分析:没有问题

2、实验练习:优惠政策

(1)问题的简单描述:问题的简单描述:编写程序实现如下功能:商店有打印纸( 18元本)墨盒( 132元/个)、光盘(4.5元/片)出售,商店进行优惠酬宾活动。具体规则如下:顾客购买商品的总额超过100 元,优惠5%;超过200元,优惠6%;超过300元,优惠7%;超过400元,优惠8%;超过500元,优惠10%。根据不同的购买量,计算应付货款。

(2)实验代码:#include

int main()

{

float a,b,c,d; /a,b,c,分别代表打印纸、墨盒、光盘的数量/

int sum;

printf("请输入各种商品的购买数量:\n");

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

sum=((a18+b132+c4.5)/100);

switch(sum)

{

case 0:d=(a18+b132+c4.5);

break;

case 1:d=0.95(a18+b132+c4.5);

break;

case 2:d=0.94(a18+b132+c4.5);

break;

case 3:d=0.93(a18+b132+c4.5);

break;

case 4:d=0.92(a18+b132+c4.5);

break;

case 5:d=0.90(a18+b132+c4.5);

default:d=0.90(a18+b132+c4.5);

break;

}

printf("需付款:%.2f元",d);

return 0;

}

(3)问题分析:起初不熟悉switch函数,没有添加default排除除case以外的结果导致计算结果出错,后来添加了default结果就计算正确了。

3、实验练习:计算月份天数

(1)问题的简单描述:输入某一年、月的数值,输出该月的天数。

(2)实验代码:#include

int main()

{

int year,month,days;

printf("please enter year and month:\n");

scanf("%d%d",&year,&month);

switch(month)

{

case 2:if(year%40&&year%100!=0||year%4000)/判断是否是闰年/

days=29;

else

days=28;

break;

case 1:days=31;break;

case 3:days=31;break;

case 5:days=31;break;

case 7:days=31;break;

case 8:days=31;break;

case 10:days=31;break;

case 12:days=31;break;/以上月份的天数/

case 4:days=30;break;

case 6:days=30;break;

case 9:days=30;break;

case 11:days=30;break;

}

printf("%d年%d月有%d天",year,month,days);/输出天数/

return 0;

}

(3)问题的分析:关系运算符的准确运用,有时会误打成//,以后会注意

4、实验练习:自动售货机

(1)问题描述:编写一个自动售货机的程序。该程序应具有如下功能:有两级菜单,一级菜 单是商品类型的选择;二级菜单是具体商品的选择(商品价格和品种可以自拟)。顾客先选择商品类型,然后选择具体商品,输入购买数量。自动售货机根据选择的商品和输人的数量,计算并显示所选商品的总金额。

(2)实验代码:#include

int main()

{

int x,n,y;

float sum=0.0;

printf("请选择:1、日用品 2、文具 3、食品:\n");

scanf("%d",&x);

switch(x)

{

case 1:printf("请选择:1、牙刷(3.5元/支) 2、牙膏(6.2元/支)\n");

printf(" 3、肥皂(2元/块) 4、毛巾(8.6元/条)\n");

scanf("%d",&y);

printf("数量?");

scanf("%d",&n);

switch(y)

{

case 1:sum=3.5n;break;

case 2:sum=6.2n;break;

case 3:sum=2n;break;

case 4:sum=8.6n;break;

}

break;

case 2:printf("请选择:1、笔(3元/支) 2、笔记本(1.2元/个)\n");

printf(" 3、文件夹(12元/个) 4、文具盒(8.6元/个)\n");

scanf("%d",&y);

printf("数量?");

scanf("%d",&n);

switch(y)

{

case 1:sum=3n;break;

case 2:sum=1.2n;break;

case 3:sum=12n;break;

case 4:sum=8.6n;break;

}

break;

case 3:printf("请选择:1、白糖(3.6元/包) 2、盐(1元/包)\n");

printf(" 3、饼(2元/个) 4、方便面(3.6元/条)\n");

scanf("%d",&y);

printf("数量?");

scanf("%d",&n);

switch(y)

{

case 1:sum=3.6n;break;

case 2:sum=1n;break;

case 3:sum=2n;break;

case 4:sum=3.6n;break;

}

break;

}

return 0;

}

(3)问题分析:中英输入法的切换,并且由于case要输入多个语句所以不用加{},且一定不能忘了后面的break

5、实验练习:分析程序

(1)问题的简单描述:对程序进行分析

(2)实验代码:#include

int main()

{

int num=20;

if(5

printf("%d in range (5,10)!\n",num);

else

printf("%d out of range (5,10)!\n",num);

return 0;

}

(3)问题分析:先前是(5

三、项目实训:计算器的实现

1、设计思路:简单的运用了输入输出的算法

2、流程图

f23b11e2819e50da7635f0698445feb7.png

3、设计过程中遇到的问题及改进的方法:当计算除数为0时会出现错误,编写排除除数为0情况的代码

4、代码:#include

int main()

{

int num1=0,num2=0;

printf("请输入两个需要计算的数字:\n");

scanf("%d,%d",&num1,&num2);

printf("%d+%d=%d\n",num1,num2,num1+num2);

printf("%d-%d=%d\n",num1,num2,num1-num2);

printf("%d%d=%d\n",num1,num2,num1num2);

if(num2!=0){

printf("%d/%d=%d\n",num1,num2,num1/num2);

}

else{

printf("除法错误。\n");

}

return 0;

}

四、实验小结(剖析个人得失)

通过这次实验对于if,else语句和switch语句的运用更加熟练,也让我知道嵌套格式一定要注意审查不能乱套,否则出问题检查很麻烦。

原文:https://www.cnblogs.com/pjl666/p/12589520.html

CSU 大一上 C语言实验报告 (1)教材第2章编程题第2题:编写计算球体体积的程序。 说明:本题声明适当变量,用户键入数据,运算并输出结果,较简单。 (2)教材第2章编程题第8题:编写程序计算第一、第二、第月还贷后剩余贷款金额。 说明:本题要求用户输入总额、利率、每月还贷净额,输出每月剩余,对输入输出、类型定义考查。 (3)教材第3章编程题第2题:编写程序实现对用户输入的产品信息进行格式化。 说明:本题考查格式化输入输出、转义字符的运用。 (4)教材第4章编程题第4题:编写程序实现将输入的整数按八进制输出。 说明:本题重在考查简单的运算符和表达式运用。 (5)用户输入一个位数,输出各位数字之和。 说明:本题重在考查如何从一个整数中取出每一个数字。 (6)教材第5章编程题第5题:编写程序计算用户输入所得额的税金。 说明:本题考查简单的选择结构。 (7)教材第5章编程题第11题:编写程序实现将用户输入的两位数转化为英文。 说明:本题考查switch语句的应用。 (8)教材第6章编程题第8题:编写程序显示单月日历,用户指定这个月的天数和该月起始日是星期几。 说明:本题考查循环结构和选择结构的综合应用,判断是否一个星期最后一天,换行符。 (9)教材第6章编程题第11题:编程序实现利用无穷级数法估计e的值。 说明:本题考查根据公式设计循环结构并实现。 (10)因子之和等于其本身的数称为完数,如28的因子为1、2、4、7、14,而28=1+2+4+7+14,因此28为完数。编程序找出2~5000中的完数。 说明:本题利用变量i在2~5000中变化,判断其是否是完数。 (11)教材第7章编程题第12题:编程计算从左至右求值的表达式的值。 说明:本题考查对运算符和操作数的判断。 (12)教材第7章编程题第14题:编程序用牛顿计算法计算浮点数平方根。 说明:本题考查对循环结构的掌握,对表达式的合理运用,对基本类型的理解。 (13)教材第8章编程题第14题:编写程序颠倒句子中单词的顺序。 说明:本题考查对字符数组的处理,对一些循环选择结构的理解。 (14)教材第8章编程题第15题:编写程序实现凯撒密码加密。 说明:本题考查对字符数组的掌握,对字符处理的理解。 (15)编程序实现将用户输入的数字字符串转化为整数输出。 说明:本题考察对字符、整数关系的掌握与理解,对循环结构的熟练运用。 (16)教材第9章编程题第1题:编写选择排序的函数,并递归调用。 说明:本题利用函数简化程序、使得结构更清晰、熟练掌握。 (17)教材第9章编程题第7题:编写计算xn的函数。 说明:本题考查函数定义、调用,并初步考察递归运用。 (18)教材第10章编程题第6题:编写程序实现逆波兰运算。 说明:本题考查对程序每部分的理解、掌握,外部、内部变量,主函数,小函数的编写与应用。初步了解栈的一些实现函数。 (19)编程序找出2~5000中满足条件的数x:x是素数且x的每位数字是素数、每位数字之和是素数,如23、223、2333等。 说明:本题考查函数方法与循环选择结构的综合运用。 (20)教材第11章编程题第3题:用指针变量编写简化一个分数的函数。 说明:本题用来解决函数无法传回传递的实际参数,指针变量。 (21)教材第12章编程题第2题:编写函数读入用户输入的一条消息,检测是否是回文,分别用数组、指针来解决。 说明:本题可以体会到数组与指针的特点,利用指针的便利。 (22)利用指针编写程序,实现从键盘键入字符串,将此字符串从m个字符开始的n个字符复制成另一个字符串。 说明:本题用指针指向字符串,进行跟踪和复制操作。 (23)教材第13章编程题第5题:编写程序实现对输入命令行参数求和。 说明:本题加深对命令行参数的理解、考查知识的综合应用。 (24)教材第16章编程题第5题:用结构变量解决搜索离用户输入时间最近的航班信息,并输出。 说明:本题考查结构与数组的结合运用,有助于理解结构。首先,定义一个存储起飞、到达时间的结构,再定义一个该类型的数组,循环搜索即可。 (25)教材第17章编程题第5题:用指针数组存储键入的字符串,对数组排序。 说明:本题应用动态分配内存、数组排序,考查综合能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值