计算机科学与专业技术第2次上机实验1Word格式文档下载.docx
- 文档编号:13990856
- 上传时间:2022-10-16
- 格式:DOCX
- 页数:12
- 大小:161.20KB
计算机科学与专业技术第2次上机实验1Word格式文档下载.docx
《计算机科学与专业技术第2次上机实验1Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《计算机科学与专业技术第2次上机实验1Word格式文档下载.docx(12页珍藏版)》请在冰豆网上搜索。
将数用2取余是否为0判断奇偶,与0判断大小判断正负,调用库函数来实现平方,在if语句中用到逻辑运算符||,同时在将奇数变为一半时用到了强制类型转换.
实验代码及注释:
#include<
stdio.h>
stdlib.h>
math.h>
//输入一个整数,如果输入的数是偶数或者负数,则输出其平方,否则输出其一半的值
intmain()
{
doubley=2,z;
//二次方
intx;
//输入的数
printf("
请输入一个数:
"
);
scanf("
%d"
&
x);
if(((x%2)==0)||(x<
0))//利用if语句,将数用2取余是否为0判断奇偶,与0判断大小判断正负
{
x=(int)pow((int)x,y);
//调用库函数来实现平方
x);
}
else
{z=(double)x/2;
//将x值强制转换赋给double型变量z
%.1lf"
z);
return0;
}
验证与结论:
总结与心得体会:
真正明白了强制类型转换不改变变量类型,仅仅给变其数值的类型.同时对逻辑运算符有了更深的认识,另外知道了pow函数的两个变量均为double型int是不适用的
实验题目2:
编写程序,计算购贷款,请输入购货金额,输出实际付款金额.购物折扣率如下:
购货金额<
=500元不打折
500元<
=1000元9折
1000元<
购货金额8折
分别用if语句,switch语句编程.
设计思想:
在用switch语句编写时先用if语句来对switch变量c赋值,再用switch来进行运算
在用if语句编写时直接用if来对输入的数进行判断选择相应的运算语句来得到最后的结果.
Switch语句实验代码及注释:
//编写程序,计算购贷款,请输入购货金额,输出实际付款金额
intc;
//switch语句变量
doublemoney;
//定义变量类型
请输入购货金额:
%lf"
money);
if(money<
=500)//用if语句对c赋值
c=1;
elseif(money<
=1000)
c=2;
c=3;
switch(c)
case1:
break;
case2:
money=money*0.9;
break;
case3:
money=money*0.8;
default:
输入错误"
实际付款金额为:
%.2f\n"
money);
If语句实验代码及注释:
if(money<
0)//用if对值范围进行判断
金额不能为负数!
elseif(money<
=500&
&
money>
=0)
money=money*0.9;
money=money*0.8;
If与switch语句各有优劣,switch语句可以提高运算速度,但相应也有一些缺点,尤其对变量c的值,有时不得不借助if语句,反而繁琐运算速度变慢
实验题目3:
输入四个整数,求其前两个数中较小的数与后两个数中较大的数之和.
定义6个变量,其中两个变量为较小数与较大数,将第一个数暂时存储在最小值中,将第三个数暂时存储在最大值中,利用if语句判读若第一个数不为最小值重新赋值,若第三个数不为最大值重新赋值,得到前两个数中最小值和后两个数中最大值.最后对两数求和.
inta,b,c,d,minnumber,maxnumber,sum;
//定义整型变量
请输入四个数:
%d%d%d%d"
a,&
b,&
c,&
d);
minnumber=a;
//将第一个数暂时存储在最小值中
maxnumber=c;
//将第三个数暂时存储在最大值中
if(a>
b)
minnumber=b;
//第一个数不为最小值重新赋值
if(c<
d)
maxnumber=d;
//第三个数不为最大值重新赋值
sum=minnumber+maxnumber;
前两个最小数与后两个最大数之和为%d"
sum);
在比较两数大小时通常会用中间变量来存储过渡,这样会容易交换大小值,当涉及到三个以上数的比较视仍可用这种思想,在比较大小中if语句是必不可少的.
实验题目4:
某个服装展厅宣布表所示的物品季节性打折.
请使用switch和if语句编写一个程序,计算某顾客应付的款项.
将输入值除以100,再强制转换为int型得到c值,在此之前用if语句将边界值提前去掉,防止对switch语句造成干扰,同时使用if来检测非法值的输入,运用goto语句跳转使其重新输入.
doublemoneya,moneyb,summoney;
//机加工制品总额,手工制品总额
//switch变量
quit:
;
//输入非法值让其重新输入数据用goto跳转到此
请输入机加工制品总金额和手工制品总金额:
%lf%lf"
moneya,&
moneyb);
summoney=moneya+moneyb;
//计算总金额
c=(int)(summoney/100);
//得到switch语句变量c
if(summoney<
0)
数据错误!
\n"
gotoquit;
//输入非法值故让其重新输入数据用goto跳转到quit位置注意goto语句跳转位置
elseif(summoney==100)//将边界值用if语句处理,switch语句无法处理
summoney=moneya+moneyb*0.95;
elseif(summoney==200)
summoney=moneya*0.95+moneyb*0.925;
elseif(summoney==300)
summoney=moneya*0.925+moneyb*0.9;
switch(c)//边界值去掉用switch
case0:
default:
summoney=moneya*0.9+moneyb*0.85;
顾客应付的款项为:
%.2lf(元)\n"
summoney);
switch在边界值处理上比较麻烦,有时容易出错,需要注意,一般要与if搭配使用,但switch语句提高了运行速度,goto语句慎用
实验题目5:
一个电表按照如下的比率计费:
前200度电:
每度0.8元;
后100度电:
每度0.9元;
超过300度电:
每度1元;
所有用户都是按照最少100元进行收费.如果总费用大于400元还要加收总数的15%的费用.请编写一个程序,读取用户名和用电量,并按用户名显示应收费.
声明长整型变量name,double型变量electric_quantity,money,用if语句来进行判断电量electric_quantity范围,最后对费用总数与400进行判断,输出用户名与费用
doubleelectric_quantity,money;
longintname;
请输入用户名和电量:
%ld%lf"
name,&
electric_quantity);
if(electric_quantity<
=200)
money=electric_quantity*0.8;
elseif(electric_quantity<
=300)
money=200*0.8+(electric_quantity-200)*0.9;
money=(electric_quantity-300)*1+200*0.8+100*0.9;
=100)//对电价进行判断至少为100,大于400加收总数的15%
money=100;
elseif(money>
=400)
money=money+money*0.15;
用户名:
%ld,应收费为:
%.2lf"
name,money);
长整型需要用%ld来输出,同时对if的使用更加熟练.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机科学 专业技术 上机 实验
![提示](https://static.bdocx.com/images/bang_tan.gif)