计算机科学与技术第2次上机实验_第1页
计算机科学与技术第2次上机实验_第2页
计算机科学与技术第2次上机实验_第3页
计算机科学与技术第2次上机实验_第4页
计算机科学与技术第2次上机实验_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上哈尔滨工程大学程序设计基础实验报告基础实践二姓 名: 麦豆 班 级: 学 号: 实验时间: 2018 年 4 月 19 日成绩哈尔滨工程大学计算机基础课程教学中心实验题目1:输入一个整数,如果输入的数是偶数或者负数,则输出其平方,否则输出其一半的值设计思想: 将数用2取余是否为0判断奇偶,与0判断大小判断正负,调用库函数来实现平方,在if语句中用到逻辑运算符|,同时在将奇数变为一半时用到了强制类型转换.实验代码及注释:#include <stdio.h>#include <stdlib.h>#include <math.h>/输入一

2、个整数,如果输入的数是偶数或者负数,则输出其平方,否则输出其一半的值int main() double y=2,z ;/二次方 int x;/输入的数 printf("请输入一个数:"); scanf("%d",&x); if(x%2)=0) | (x<0) /利用if语句,将数用2取余是否为0判断奇偶,与0判断大小判断正负 x=(int)pow(int)x , y);/调用库函数来实现平方 printf("%d",x); else z=(double)x/2;/将x值强制转换赋给double型变量z printf(&q

3、uot;%.1lf",z); return 0;验证与结论:总结与心得体会:真正明白了强制类型转换不改变变量类型,仅仅给变其数值的类型.同时对逻辑运算符有了更深的认识,另外知道了pow函数的两个变量均为double型int是不适用的实验题目2:编写程序,计算购贷款,请输入购货金额,输出实际付款金额.购物折扣率如下:购货金额<=500元 不打折500元<购货金额<=1000元 9折1000元<购货金额 8折分别用if语句,switch语句编程.设计思想:在用switch语句编写时先用if语句来对switch变量c赋值,再用switch来进行运算在用if语句编写时

4、直接用if来对输入的数进行判断选择相应的运算语句来得到最后的结果.Switch语句实验代码及注释:#include <stdio.h>#include <stdlib.h>/编写程序,计算购贷款,请输入购货金额,输出实际付款金额int main() int c;/switch语句变量 double money ;/定义变量类型 printf("请输入购货金额:"); scanf("%lf",&money); if (money<=500)/用if语句对c赋值 c=1; else if(money<=1000)

5、c=2; else c=3; switch (c) case 1: break ; case 2: money = money*0.9; break; case 3: money = money*0.8; break; default: printf("输入错误"); printf("实际付款金额为:%.2fn",money); return 0;If语句实验代码及注释:#include <stdio.h>#include <stdlib.h>int main() double money ;/定义变量类型 printf(&quo

6、t;请输入购货金额:"); scanf("%lf",&money); if(money<0) /用if对值范围进行判断 printf("金额不能为负数!"); else if (money<=500&&money>=0) printf("实际付款金额为:%.2fn",money); else if(money<=1000) money=money*0.9; printf("实际付款金额为:%.2fn",money); else money=money*0.8

7、; printf("实际付款金额为:%.2fn",money); return 0;验证与结论:总结与心得体会:If与switch语句各有优劣,switch语句可以提高运算速度,但相应也有一些缺点,尤其对变量c的值,有时不得不借助if语句,反而繁琐运算速度变慢实验题目3:输入四个整数,求其前两个数中较小的数与后两个数中较大的数之和.设计思想:定义6个变量,其中两个变量为较小数与较大数,将第一个数暂时存储在最小值中,将第三个数暂时存储在最大值中,利用if语句判读若第一个数不为最小值重新赋值,若第三个数不为最大值重新赋值,得到前两个数中最小值和后两个数中最大值.最后对两数求和.

8、实验代码及注释:#include <stdio.h>#include <stdlib.h>int main() int a,b,c,d,minnumber,maxnumber,sum;/定义整型变量 printf("请输入四个数:"); scanf("%d%d%d%d",&a,&b,&c,&d); minnumber=a;/将第一个数暂时存储在最小值中 maxnumber=c;/将第三个数暂时存储在最大值中 if(a>b) minnumber=b;/第一个数不为最小值重新赋值 if(c<

9、d) maxnumber=d;/第三个数不为最大值重新赋值 sum=minnumber+maxnumber; printf("前两个最小数与后两个最大数之和为%d",sum); return 0;验证与结论:总结与心得体会:在比较两数大小时通常会用中间变量来存储过渡,这样会容易交换大小值,当涉及到三个以上数的比较视仍可用这种思想,在比较大小中if语句是必不可少的.实验题目4:某个服装展厅宣布表所示的物品季节性打折.请使用switch和if语句编写一个程序,计算某顾客应付的款项.设计思想:将输入值除以100,再强制转换为int型得到c值,在此之前用if语句将边界值提前去掉,防

10、止对switch语句造成干扰,同时使用if来检测非法值的输入,运用goto语句跳转使其重新输入.实验代码及注释:#include <stdio.h>#include <stdlib.h>int main() double moneya,moneyb,summoney;/机加工制品总额,手工制品总额 int c;/switch变量 quit :;/输入非法值让其重新输入数据用goto跳转到此 printf("请输入机加工制品总金额和手工制品总金额:"); scanf("%lf%lf",&moneya,&moneyb)

11、; summoney=moneya+moneyb;/计算总金额 c=(int)(summoney/100);/得到switch语句变量c if(summoney<0) printf("数据错误!n"); goto quit;/输入非法值故让其重新输入数据用goto跳转到quit位置注意goto语句跳转位置 else if(summoney=100)/将边界值用if语句处理,switch语句无法处理 summoney=moneya+moneyb*0.95; else if(summoney=200) summoney=moneya*0.95+moneyb*0.925;

12、else if(summoney=300) summoney=moneya*0.925+moneyb*0.9; else switch (c)/边界值去掉用switch case 0: summoney=moneya+moneyb*0.95; break; case 1: summoney=moneya*0.95+moneyb*0.925; break; case 2: summoney=moneya*0.925+moneyb*0.9; break; default : summoney=moneya*0.9+moneyb*0.85; printf("顾客应付的款项为:%.2lf(元

13、)n",summoney); return 0;验证与结论:总结与心得体会:switch在边界值处理上比较麻烦,有时容易出错,需要注意,一般要与if搭配使用,但switch语句提高了运行速度,goto语句慎用实验题目5:一个电表按照如下的比率计费:前200度电:每度0.8元;后100度电:每度0.9元;超过300度电:每度1元;所有用户都是按照最少100元进行收费.如果总费用大于400元还要加收总数的15%的费用.请编写一个程序,读取用户名和用电量,并按用户名显示应收费.设计思想: 声明长整型变量name,double型变量electric_quantity,money,用if语句来

14、进行判断电量electric_quantity范围,最后对费用总数与400进行判断,输出用户名与费用实验代码及注释:#include <stdio.h>#include <stdlib.h>int main() double electric_quantity,money; long int name; printf("请输入用户名和电量:"); scanf("%ld%lf",&name,&electric_quantity); if(electric_quantity<=200) money=electric_quantity*0.8; else if (electric_quantity<=300) money=200*0.8+(electric_quantity-200)*0.9; else money=(electric_quantity-300)*1+200

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论