一、实验目的
1.熟练掌握关系运算符、条件运算符和逻辑运算符
2.熟练掌握单分支、双分支、多分支的条件语句
3.熟练掌握switch语句、break语句
二、实验学时
三、实验内容
1.编写程序,任意输入一整数,判断它是否是3或7的倍数。
(1)如果输入:20
则输出 :20 既不是3的倍数,也不是7的倍数
(2)如果输入:18
则输出 :18 = 3×6
(3)如果输入:35
则输出 :35 = 7×5
(4)如果输入:42
则输出 :42 = 3×14
42 = 7×6
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
if((n%3==0)&&(n%7!=0))
printf("%d=3*%d",n,n/3);
if((n%3!=0)&&(n%7==0))
printf("%d=7*%d",n,n/7);
if((n%3!=0)&&(n%7!=0))
printf("%d既不是3的倍数,也不是7的倍数",n);
if((n%3==0)&&(n%7==0))
printf("%d=3*%d\n%d=7*%d" ,n,n/3,n,n/7);
return 0;
}
(1)
(2)
(3)
(4)
2.编写程序,输入体重w和身高h,计算BMI指数。并根据BMI指数,输出体型。
BMI指数=体重w/(身高h)² (w单位为千克,h单位为米)。
WHO标准如下:
当BMI<18.5,偏瘦;
当18.5≤BMI<24,正常;
当24≤BMI<30,偏胖;
当30≤BMI,肥胖;
要求用多分支的if语句实现。
#include<stdio.h>
int main(){
double w,h,BMI;
scanf("%lf %lf" ,&w,&h);
BMI=w/(h*h);
printf("BMI=%lf\n",BMI);
if(BMI<18.5)
printf("偏瘦");
if((BMI>=18.5)&&(BMI<24))
printf("正常");
if((BMI>=24)&&(BMI<30))
printf("偏胖");
if(BMI>=30)
printf("肥胖");
return 0;
}
运行样例:
3.有一分段函数:
编写程序,输入x的值输出y的值(要求对非法的输入进行检查、处理)。要求用条件表达式、switch语句实现。
#include<stdio.h>
#include<stdlib.h>
int main(){
int x,y;
int z;
printf("请输入x:");
scanf("%d",&x);
z=x/16;
switch(z){
case 0:
printf("y=0\n");break;
case 1:
printf("y=%d\n",3*x);break;
case 2:
printf("y=%d\n",2*x);break;
case 3:
printf("y=%d\n",x+2);break;
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case 10:
case 11:
case 12:
case 13:
case 14:
case 15:
case 16:
printf("y=100\n");break;
}
return 0;
}
运行样例:
4.输入年份和月份,输出这一年该月的天数。
提示:输入一年份,先判断是否是闰年。闰年的条件是:能被 4 整除,但不能被 100 整除;或者能被 400整除。
#include<stdio.h>
int main(){
int year,month;
printf("请输入年份、月份:");
scanf("%d%d",&year,&month);
switch(month){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
printf("该月有31天");break;
case 4:
case 6:
case 9:
case 11:
printf("该月有30天");break;
case 2:
if((year%4==0)&&(year%100!=0)||year%400==0)//判断是否为闰年
printf("该年是闰年,该月有29天");
else
printf("该月有28天");
}
return 0;
}
运行样例:
四、实验小结
在实验报告中记录各题实验代码及运行结果,针对实验中遇到的问题及其解
决方法、或尚未解决的问题、实验收获等,仔细撰写实验报告。