c语言实验报告全,c语言实验报告

实验项目:分支结构实验   姓名:熊承启

4.3.1if语句的应用

问题描述:

读入三个分别表示箱子长宽高的整数值,判断并输出该箱子是长方体还是正方体。

程序框图:

3faeea758095719b6836fc1d136d3409.png

程序实现:

#include

int main()

{

int l,w,h;

printf("请输入箱子的长,,宽,高:

");

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

if(l==w==h)

printf("该箱子为正方体。

");

else

printf("该箱子为长方体。

");

return 0;

}

4.3.2switch/case语句的应用

问题描述:

统一程序实现如下功能:商店有打印纸(18元/本)、墨盒(132元/个)、光盘(4。5元/片)出售,商店进行优惠酬宾活动。具体做法如下:顾客购买商品的总额达到了100元,优惠5%;达到了200元,以上优惠6%;达到了300元以上,优惠7%;达到了400元以上,优惠8%;达到了500元以上,优惠10%。根据不同的购买量,打印应付货款。

程序框图:

872af6a1dabb979e3274a06c2e144ecb.png

程序实现:

#include

int main()

{

int x,y,z,n;

float sum=0;

printf("请输入打印纸,墨盒,光盘的数量:

");

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

sum=18*x+132*y+4.5*z;

printf("总价: %f

",sum);

n=sum/100;

switch(n)

{

case 1 :printf("sum=%2f",sum*0.95);break;

case 2 :printf("sum=%2f",sum*0.94);break;

case 3 :printf("sum=%2f",sum*0.93);break;

case 4:printf("sum=%2f",sum*0.92);break;

case 5:

case 6:

case 7:

case 8:

case 9:printf("sum=%2f",sum*0.9);break;

default: printf("sum=%2f",sum);

}

}

4.3.3switch/case语句嵌套if语句的应用

问题描述:

输入某一年月,输入该月的天数

程序框图:

bd60d472a43b4d4e3bfdbe41493c15e0.png

程序实现:

#include

int main(){

int year,mouth,days;

printf("please enter year and mouth:

");

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

switch (mouth){

case 2:if((((year)%4==0)%100!=0)||((year)%400)==0)

printf("days==29");

else

printf("days=28");

break;

case 1:printf("days==31");break;

case 3:printf("days==31");break;

case 5:printf("days==31");break;

case 7:printf("days==31");break;

case 8:printf("days==31");break;

case 10:printf("days==31");break;

case 12:printf("days==31");break;

case 4:printf("days==30");break;

case 6:printf("days==30");break;

case 9:printf("days==30");break;

case 11:printf("days==30");break;

return 0;

}

}

4.3.4switch/case结构的嵌套应用

问题描述:.

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

程序实现

#include

int main()

{

int x,n,y;

float sum=0.0;

printf("请选择:1.日用品 2.文具 3.食品

");

scanf("%d",&x);

switch(x)

{

case 1:printf("请选择:1.牙刷(3.5元/支) 2.牙膏(6.2元/支)

");

printf(" 3.肥皂(2 元/块) 4.毛巾(8.6元/条)

");

scanf("%d,&y");

printf("数量?");

scanf("%d",&n);

switch(y)

{

case 1:sum=3.5*n;break;

case 2:sum=6.2*n;break;

case 3:sum=2*n;break;

case 4:sum=8.6*n;break;

}

break;

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

");

printf(" 3.文件夹(12元/个) 4.文具盒(8.6元/个)

");

scanf("%d",&y);

printf("数量?");

scanf("%d,&n");

switch(y)

{

case 1:sum=3*n;break;

case 2:sum=1.2*n;break;

case 3:sum=12*n;break;

case 4:sum=8.6*n;break;

}

break;

case 3:printf ("请选择:1.白糖(3.6元/包) 2.盐(1元/包)

");

printf(" 3.饼(2元/个) 4.方便面(3.6元/条)

");

scanf("%d",&y);

printf("数量?");

scanf("%d",&n);

switch(y)

{

case 1:sum=3.6*n;break;

case 2:sum=1*n;break;

case 3:sum=2*n;break;

case 4:sum=3.6*n;break;

}

break;

}

printf("总计:%.2f元

",sum);

return 0;

}

问题阐述:

该题容易在格式上出现错误,三个分别的switch结构并列

4.3.5分析程序

(1).运行以下程序,分析输出结果。

#include

int main()

{

double x=1000/3.0;

double y=x-333.0;

double z=3*y-1.0;

printf("x=%1f

",x);

printf("y=%1f

",y);

printf("z=%1f

",z);

if(z==0) printf("z==0.

");

else printf("z不等于0.

");

return 0;

}

c26c241b609caf15b97627e4be390705.png

(2).运行下列程序,分析错误原因,请修改程序:

更改前

#include

int main()

{

int num=20;

if(5

printf("%d in range (5,10)!

",num);

else

printf("%d out of range (5,10)!

",num);

}

更改后

#include

int main()

{

int num=20;

if(5

printf("%d in range (5,10)!

",num);

else

printf("%d out of range (5,10)!

",num);

}

这道题是关于C语言表达式与数学表达式的区别,原题目中if后写的是(55&&num<10)。

72ad344263d41b3875875d7ee2625d78.png

三、实验小结

这节实验课运行的程序有些是比较难想出来的,比如说商店打折导致分支的条件很多时,这些都是需要认真思考的。

1.迅速地进行中英文输入法的切换。

2.学会区分数学表达式和C语言表达式的不同。

3.记得case后要空一格才能接数字。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值