实验项目:4.3.1if语句的应用;4.3.2switch-case的应用;4.3.3switch-case嵌套if语句的应用;4.3.4switch-case结构嵌套的应用;4.3.5分析程序___________________________________________
姓名:戴智琴__________实验地点:家________实验时间__2020.3.29______
一、实验目的与要求
1、掌握C语言逻辑值的表达方法(0代表“假”,1代表"真")
2、学会正确地使用关系式和逻辑表达式。
3、掌握各种形式的i语句语法和使用方法。if语句中if和else的匹配关系,以及if语句的嵌套。
4、熟练掌握switch语句的语法和使用方法,注意在switch语句中break语句的用法及switch语句的嵌套。
二、实验内容
1问题的简单描述:输入箱子的长宽高,输出判断箱子是正方形还是长方形。
2实验代码:
#include<stdio.h>
int main()
{
int l,w,h;
printf("请输入箱子的长,宽,高:\n");
scanf("%d%d%d",&l,&w,&h);
if((l==w)&&(l==h)&&(w==h))/*如果长,宽,高相等,则为正方体*/
printf("该箱子是正方体。\n");
else
printf("该箱子是长方体。\n");
return 0;
}
3、问题分析:需要注意区分等号“==”和赋值“=”
1问题的简单描述:需要进行注释才能看懂代码
2实验代码:
#include<stdio.h>
main()
{
int a,b,c,d,e,temp;/*a,b,分别为打印纸,墨盒的单价,c,d,e分别是购买的数量*/
double x,y,z;/*x,y,z,分别为光盘的单价,实际付款数,应付款数*/
printf("请输入打印纸,墨盒,光盘的数量:\n");
scanf("%d,%d,%d",&c,&d,&e);
a=18,b=132,x=4.5;
y=a*c+b*d+x*e;
switch(temp)
{
case0:z=(a*c+b*d+x*e);break;
case1:z=0.95*(a*c+b*d+x*e);break;
case2:z=0.94*(a*c+b*d+x*e);break;
case3:z=0.93*(a*c+b*d+x*e);break;
case4:z=0.92*(a*c+b*d+x*e);break;
case5:z=0.90*(a*c+b*d+x*e);break;
default:z=0.90*(a*c+b*d+x*e);break;
}
printf("应付款数:%.2f",z);
}
3问题分析:实际折扣问题与使用switch语句
问题描述:任意输入某一年月,输出该月的天数。
实验代码
#include<stdio.h>
int main()
{
int year,month,days;
printf("please enter year and month:\n");
scanf("%d%d",&year,&month);
switch(month)
{
case 2 :
if(year%4==0&&year%100!=0||year%400==0)
days=29;
else
days=28;break;
case 1 :
case 3 :
case 5 :
case 7 :
case 8 :
case 10 :
case 12 :
days=31;break;
case 4 :
case 6 :
case 9 :
case 11 :
days=30;break;
}
printf("%d年%d月%d天",year,month,days);
}
3、问题分析:break莫相忘
1、问题的简单描述
2、实验代码
#include<stdio.h>
int main()
{
int a,b,c;
float sum=0.0;
printf("请选择:1.日用品2.文具 3.食品\n");
scanf("%d",&a);
switch(a)
{
case1:printf("请选择:1.牙刷(3.5元/支)2.牙膏(6.2元/支)\n");
printf("3.肥皂(2元/快)4.毛巾(8.6元/条)\n");
scanf("%d",&c);
printf("数量?");
scanf("%d",&b);
switch(c)
{
case 1: sum=3.5*b;break;
case 2: sum=6.2*b;break;
case 3: sum=2*b;break;
case 4: sum=8.6*b;break;
}
break;
case2:printf("请选择:1.笔(3元/支)2.笔记本(1.2元/本)\n");
printf("请选择:3.文件夹(12元/个)4.文具盒(8.6元/个)\n");
scanf("%d",&b);
switch(c)
{
case 1: sum=3*b;break;
case 2: sum=1.2*b;break;
case 3: sum=12*b;break;
case 4: sum=8.6*b;break;
}
break;
case3:printf("请选择:1.白糖(3.6元/包)2.盐(1元/包)/n");
printf("请选择:3.饼(2元/个)4.方便面(3.6元/包)/n");
scanf("%d",&b);
switch(c)
{
case 1: sum=3.6*b;break;
case 2: sum=1*b;break;
case 3: sum=2*b;break;
case 4: sum=3.6*b;break;
}
break;
}
printf("总计:%.2f元\n",sum);
return 0;
}
3、问题分析:熟练使用嵌套,西文半角
1.问题的简单描述:无
2.实验代码
#include<stdio.h>
int main()
{
double x=1000/3.0;
double y=x-333.0;
double z=3*y-1.0;
printf("x=%f\n",x);
printf("y=%f\n",y);
printf("z=%f\n",z);
if(z==0)printf("z==0.\n");
else printf("z不等于0.\n");
return 0;
}
3.问题分析:注意输入勿打错
三、项目实训:计算器的实现
1、设计过程中遇到的问题及改进的方法:简单易懂,多学习
2、代码
#include<stdio.h>
int main()
{
int a,b,x;
char c;
printf("请输入算法:");
scanf("%d%c%d",&a,&c,&b);
switch(c)
{
case 1: x=a+b;break;
case 2: x=a-b;break;
case 3:
if(b!=0)
x=a/b;break;
else
printf("输入错误");
case 4: x=a*b;break;
}
printf("计算结果为:%d",x);
}
仔细注意输入的符号是否是正确的,数学表达式与C语言的结合。
原文:https://www.cnblogs.com/3e4d/p/12592640.html