为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

实验二选择结构程序设计实验报告

2021-09-25 14页 doc 220KB 21阅读

用户头像 个人认证

海军

暂无简介

举报
实验二选择结构程序设计实验报告Documentnumber【SA80SAB-SAA9SYT-SAATC-SA6UT-SA18】实验二选择结构程序设计实验报告实验二选择结构程序设计实验目的和要求1.掌握关系表达式和逻辑表达式的使用。2.熟悉选择结构程序设计。3.熟练使用if语句进行程序设计。4.使用switch语句实现多分支选择结构。二、实验设备PC机VisualC++实验内容实验准备从程序流程的角度来看,程序可以分为三种基本结构,即顺序结构、分支(选择)结构、循环结构。If-else语句:一般形式为:if(表达式)语句1;else语句2;该语句用于实现分支...
实验二选择结构程序设计实验报告
Documentnumber【SA80SAB-SAA9SYT-SAATC-SA6UT-SA18】实验二选择结构程序设计实验实验二选择结构程序设计实验目的和要求1.掌握关系达式和逻辑表达式的使用。2.熟悉选择结构程序设计。3.熟练使用if语句进行程序设计。4.使用switch语句实现多分支选择结构。二、实验设备PC机VisualC++实验实验准备从程序流程的角度来看,程序可以分为三种基本结构,即顺序结构、分支(选择)结构、循环结构。If-else语句:一般形式为:if(表达式)语句1;else语句2;该语句用于实现分支结构,根据表达式的值选择语句1或语句2中的一条执行。首先求解表达式,如果表达式的值为“真”,则执行语句1;如果表达式的值为“假”,则执行语句2.switch语句switch语句可以处理多分支选择问题,根据其中break语句的使用,一般分为三种情况。实验项目1.计算a+|b|#include<>intmain(void){inta,b,z;printf("Pleaseentera,b:\n");scanf("%d,%d",&a,&b);if(b>=0){b=b;}else{b=-b;}z=a+b;printf("%d+%d=%d\n",a,b,z);return0;}2判断一个整数是否可以被3和5整除#include<>intmain(void){inta;printf("Pleaseentera:\n");scanf("%d",&a);if(a%3==0){printf("a可以被3整除:\n");}else{if(a%5==0){printf("a可以被5整除:\n");}else{printf("a不可以被5整除,也不可以被3整除:\n");}}从键盘输入一个字符型数据,若输入一个数字字符('0'-'9'),则将其转换成相应的整数显示出来;若输入其它字符,则显示出错信息。#include<>intmain(void){inta;printf("pleaseenterachar:\n");scanf("%d",&a);if((0<=a)&&(a<=9)){printf("Thischaris%d:\n",a);}else{printf("这个字符不是个整数:\n");}return0;}编写一个程序,其功能为:从键盘输入三个数x、y、z,判断x+y=z是否成立,若成立输出“x+y=z”的信息,否则输出“x+y!=z”的信息。#include<>intmain(void){intx,y,z;printf("请输入x,y,z:\n");scanf("%d,%d,%d",&x,&y,&z);if(x+y==z){printf("x+y=z\n");}else{printf("x+y!=z\n");}return0;}编写一个程序,其功能为:输入三个整数,输出最大数和最小数。#include<>intmain(void){inta,b,c,x,y;printf("请输入三个数字:\n");scanf("%d,%d,%d",&a,&b,&c);x=0;if(a>b){x=a;if(x>c){x=x;}else{x=c;}}else{x=b;if(x>c){x=x;}else{x=c;}}y=0;if(ac){y=c;}else{y=y;}}printf("最大数是%d,最小值是%d\n",x,y);return0;}6.如下两个线性方程组的两个未知数为x1和x2:ax1+bx2=mcx1+dx2=n该方程的唯一解为(ad-cb不等于零时):请编写一个程序,读取a、b、c、d的值,计算x1和x2的值。如果ad-cd等于零,应给出适当的提示信息。#include<>intmain(void){inta,b,c,d,m,n,x1,x2;printf("请输入方程组a,b,c,d,m,n\n");scanf("%d,%d,%d,%d,%d,%d",&a,&b,&c,&d,&m,&n);if(a*d-c*b==0){printf("此方程组无解\n");}else{x1=(m*d-b*n)/(a*d-c*b);x2=(n*a-m*c)/(a*d-b*c);printf("此方程组的解为%d和%d\n",x1,x2);}return0;}某产品生产成本c=c1+mc2,其中c1为固定成本,c2为单位产品可变成本。当生产数量m<10000时,c1=20000元,c2=10元;当生产数量m≥10000时,c1=40000元,c2=5元;编写一个程序,其功能为:分别计算出生产数量为6000以及25000时,总生产成本及单位生产成本。#include<>intmain(void){intc,c1,c2,m;printf("请输入生产数量m:\n");scanf("%d",&m);if(m<10000){c1=20000;c2=10;}else{c1=40000;c2=5;}c=c1+m*c2;printf("生产成本为%d\n",c);return0;}8.编写一个程序,计算下列函数:y=xx<12x-11≤x<103x-11X≥10#include<>intmain(void){intx,y;printf("Plesseinputax:\n");scanf("%d",&x);if(x<1){y=x;}else{if(x>=10){y=3*x-11;}else{y=2*x-1;}}printf("y=%d\n",y);return0;}编写一个程序,其功能为:从键盘输入一个字符,判别该字符的类别,并输出向相应信息。#include<>intmain(void){chari;scanf("%c",&i);if(i<32){printf("此字符为控制字符\n");}else{if((i>='0')&&(i<='9')){printf("此字符为数字字符\n");}else{if((i>='A')&&(i<='Z')){printf("此字符为大写字母\n");}else{if((i>='a')&&(i<='z')){printf("此字符为小写字母\n");}else{printf("此字符为其他字符\n");}}}}return0;}10.编写一个程序,其功能为:从键盘输入一元二次方程ax2+bx+c=0的各项系数a、b、c的值,判断方程实数解的不同情况,分别求解方程,并输出(结果保留两位小数,如无实根给出相应的信息)。应用如下规则:(1)若a、b的值为零,则没有解;(2)若a为零,只有一个实数解;(3)若b2-4ac为负数,则没有实数解;若b2-4ac为正数,有两个实数解;若b2-4ac为零,有两个相等的实数解。#include<>#include<>intmain(void){floata,b,c;doublex1,x2;printf("Pleaseinputa,b,c\n");scanf("%f%f%f",&a,&b,&c);if((a==0)&&(b==0)){printf("此方程没有解\n");}else{if(a==0){printf("此方程有一个实根\n");}else{if((b*b-4*a*c)<0){printf("此方程无实根\n");}else{if((b*b-4*a*c)==0){x1=((-b)/(2*a));printf("此方程有两个相等实根:x1=x2=%lf\n",x1);}else{x1=(-b+(sqrt(b*b-4*a*c)))/(2*a);x2=(-b-(sqrt(b*b-4*a*c)))/(2*a);printf("此方程有两个实根:x1=%lfx2=%lf\n",x1,x2);}}}}return0;}11.编写程序,输入三角形三边a、b、c,判断a、b、c能否构成三角形,若不能则输出相应的信息,若能则判断组成的是等腰、等边、直角还是一般三角形。#include<>intmain(void){inta,b,c;printf("pieaseinputa,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);if((a+b>c)&&(a+c>b)&&(b+c>a)){if(a==b&&b==c&&a==c){printf("能构成等边三角形\n");}else{if(a==b||b==c||a==c){printf("能构成等腰三角形\n");}else{if(a*a==b*b+c*c||b*b==a*a+c*c||c*c==a*a+b*b){printf("能构成直角三角形\n");}else{printf("能构成一般三角形\n");}}}}else{printf("不能构成三角形\n");}return0;}12.某个电力公司对其用户的收费规定如下:用电数量收费0~200x*元201~400100+(x-200)*元401~600230+(x-400)*元601以上390+(x-600)*元编写程序,对于一个输入的用电数量,计算用户的缴费额。#include<>intmain(void){doublex,y;printf("pieaseinputx:\n");scanf("%lf",&x);if(x<0){printf("输入的数据有误!\n");}else{if(x>=0&&x<=200){y=x*;}else{if(x>=201&&x<=400){y=100+(x-200)*;}else{if(x>=401&&x<=600){y=230+(x-400)*;}else{y=390+(x-600)*;}}printf("y=%lf\n",y);}}return0;}13某个服装展示厅对所卖商品打折规定如下:------------------------------------------------------------购买总额折扣-------------------------------------------机加工产品手工产品0~100-5%101~2005%%201~300%%大于300%%--------------------------------------------------------------编写程序输入购买总额,计算并输顾客实际应付的货款。#include""intmain(void){doublex,y;intlb;printf("请输入顾客购买总额x:\n");scanf("%lf",&x);printf("请输入顾客购买类别lb:\n");scanf("%d",&lb);if(x<0)printf("输入购买总额数据有误!");else{if(x>=0&&x<=100){if(lb==0)y=x;elseif(lb==1)y=x*;elseprintf("输入购买类别数据有误!");}elseif(x>=101&&x<=200){if(lb==0)y=x*;elseif(lb==1)y=x*;elseprintf("输入购买类别数据有误!");}elseif(x>=201&&x<=300){if(lb==0)y=x*;elseif(lb==1)y=x*;elseprintf("输入购买类别数据有误!");}else{if(lb==0)y=x*;elseif(lb==1)y=x*;elseprintf("输入购买类别数据有误!");}printf("x=%lfy=%lf\n",x,y);}return0;}14编程在屏幕上显示一张如下所示的时间表:*******Time*******1morning2afternoon3nightPleaseenteryourchoice:根据用户输入的时间序号显示相应的问候信息,选择1时显示“Goodmorning”,选择2时显示“Goodafternoon”,选择3时显示“Goodnight”,对于其他选择显示“Selectionerror!”。#include<>intmain(void){intxh;printf("\n\n*******Time*******\n");printf("1morning\n");printf("2afternoon\n");printf("3night\n");printf("\n\n请输入您的选择(1、2、3):");scanf("%d",&xh);switch(xh){case1:printf("\nGoodmorning\n");break;case2:printf("\nGoodatfernoon\n");break;case3:printf("\nGoodnight\n");break;default:printf("\nSelectionerror!\n");break;}return0;}15编程设计一个简单的计算器程序,要求根据用户从键盘输入的表达式:操作数1运算符op操作数2计算表达式的值,指定的运算符为加(+)、减(-)、乘(*)、除(/)#include<>intmain(void){floatx,y,z;charop;printf(“请输入表达式:”);scanf(“%f,%c,%f”,&x,&op,&y);if(op==‘+’)z=x+y;if(op==‘-’)z=x-y;if(op==‘*’)z=x*y;if(op==‘/’){if(y!=0)z=x/y;elseprintf(“除数为0”);}printf(“%f%c%f=%f\n”,x,op,y,z);}#include<>voidmain(){floatx,y,z;charop;printf(“请输入表达式:”);scanf(“%f,%c,%f”,&x,&op,&y);switch(op){case‘+’:z=x+y;case‘-’:z=x-y;case‘*’:z=x*y;case‘/’:{if(y!=0)z=x/y;elseprintf(“除数为0”);}}printf(“%f%c%f=%f\n”,x,op,y,z);return0;}16输入某学生的成绩,经处理后给出学生的等级,等级分类如下:90分以上(包括90):A80至90分(包括80):B70至80分(包括70):C60至70分(包括60):D60分以下:E方法一:(用if语句的嵌套)##include<>intmain(void){floatscore;printf("请输入成绩:");scanf("%f",&score);if(score>=0&&score<=100)if(score>=90)printf("%fA",score);elseif(score>=80)printf("%fB",score);elseif(score>=70)printf("%fC",score);elseif(score>=60)printf("%fD",score);elseprintf("%fE",score);elseprintf("成绩输入有误!");return0;}方法二:用switch语句#include<>intmain(void){floatscore;intp;printf("请输入成绩:");scanf("%f",&score);p=(int)(score/10);if(score>=0&&score<=100)switch(p){case10:case9:printf("%fA",score);break;case8:printf("%fB",score);break;case7:printf("%fC",score);break;case6:printf("%fD",score);break;default:printf("%fE",score);}elseprintf("成绩输入有误!");return0;}实验小结通过本次实验我进一步熟悉了C语言操作环境,学习了两种条件语句,弄清了语句格式和使用方法。学会了分别使用使用if嵌套语句和switch语句实现功能,其中在使用if嵌套时要注意分清层次,明白else所对应的应当是离得最近的if语句,防止发生逻辑错误。条件判断语句可以结合逻辑运算符更好得实现。
/
本文档为【实验二选择结构程序设计实验报告】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索