C语言 实验二、选择结构程序设计解答.doc_第1页
C语言 实验二、选择结构程序设计解答.doc_第2页
C语言 实验二、选择结构程序设计解答.doc_第3页
C语言 实验二、选择结构程序设计解答.doc_第4页
C语言 实验二、选择结构程序设计解答.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

实验二 选择结构程序设计一、实验目的1. 掌握关系表达式和逻辑表达式的使用。2. 熟悉选择结构程序设计。3. 熟练使用if语句进行程序设计。4. 使用switch语句实现多分支选择结构。二、实验内容(1 计算a+|b| 2 判断一个整数是否可以被3和5整除)1目的掌握判断一个字符型数据是否数字字符的方法,以及数字字符转换为相应整数的方法。 题目内容从键盘输入一个字符型数据,若输入一个数字字符(0-9),则将其转换成相应的整数显示出来;若输入其它字符,则显示出错信息。输入一个字符型数据输出整数或出错信息提示 根据字符型数据的ASCII码值是否在0字符与9字符之间进行判断。使用ifelse语句和复合语句。#include stdio.hvoid main()char ch;int dch;printf(请输入一个字符:n);scanf(%c,&ch);printf(输入的字符是:%cn,ch);if(ch=0&chb)max=a;min=b; elsemax=b;min=a; if(cmax) max=c;if(cmin) min=c; printf(max=%d min=%dn,max,min);4目的运用已学知识解决实际问题。题目内容如下两个线性方程组的两个未知数为x1和x2:ax1+bx2=mcx1+dx2=n该方程的唯一解为(ad-cb不等于零时):请编写一个程序,读取a、b、c、d的值,计算x1和x2的值。如果ad-cd等于零,应给出适当的提示信息。输入方程的系数 a、b、c、d的值输出 当ad-cb不等于零时,输出方程的解x1、x2的值;当ad-cb等于零时,输出提示信息。提示 用ifelse语句和复合语句实现。#include stdio.hvoid main()float a,b,c,d,m,n,x1,x2;printf(请输入方程的系数a,b,c,d,m,n:n);scanf(%f%f%f%f%f%f,&a,&b,&c,&d,&m,&n);printf(方程为:n);printf(%fx1+%fx2=%fn,a,b,m);printf(%fx1+%fx2=%fn,c,d,n); if(a*d-c*b)=0)printf(n方程无解。n); elsex1=(m*d-n*c)/(a*d-c*b); x2=(n*a-m*c)/(a*d-c*b);printf(nx1=%fn,x1); printf(x2=%fn,x2);5目的运用已学知识解决实际问题。题目内容某产品生产成本c=c1+mc2,其中c1为固定成本,c2为单位产品可变成本。当生产数量m10000时,c1=20000元,c2=10元;当生产数量m10000时,c1=40000元,c2=5元;编写一个程序,其功能为:分别计算出生产数量为6000以及25000时,总生产成本及单位生产成本。输入 生产数量输出 生产数量、总生产成本、单位可变成本提示#include stdio.hvoid main()int m,c1,c2,c;printf(请输入生产数量:n);scanf(%d,&m);if(m10000)c1=20000; c2=10;elsec1=40000; c2=5;c=c1+m*c2;printf(生产数量=%dn,m);printf(总成本=%dn,c);printf(单位生产成本=%dn,m*c2);6目的掌握分段函数的计算。题目内容 编写一个程序,计算下列函数:y=xx12x-11x103x-11X10输入 x值输出 y值提示根据输入的x值的取值,计算y的值并输出。使用ifelse if语句以及复合语句。#include stdio.hvoid main()float x,y;printf(请输入x:n);scanf(%f,&x);printf(输入x=:%fn,x);if(x=1&x10) y=2*x-1; printf(y=%fn,y); else y=3*x-11; printf(y=%fn,y);7目的掌握字符型变量的定义与使用,掌握大小写字母转换的算法。题目内容 编写一个程序,其功能为:从键盘输入一个字符,判别该字符的类别,并输出向相应信息。输入一个字符输出 显示“控制字符”、“数字字符”、“大写字母”、“小写字母”、“其它字符”信息。提示 根据输入字符的ASCII码来判别类型。由ASCII码表可知ASCII值小于32的为控制字符。 在0和9之间的为数字,在A和Z之间为大写字母, 在a和z之间为小写字母,其余则为其它字符。使用ifelse if语句。#include stdio.hvoid main()char ch;printf(请输入一个字符:n);scanf(%c,&ch);printf(输入的字符是:%cn,ch);if(ch=0&ch=a&ch=A&ch0) x1=(-b+sqrt(b*b-4*a*c)/(2*a);x2=(-b-sqrt(b*b-4*a*c)/(2*a); printf(a=%f b=%f c=%f x1=%lf x2=%lfn,a,b,c,x1,x2); else if(b*b-4*a*c)=0) x1=(-b)/(2*a); printf(a=%f b=%f c=%f x1=x2=%lfn,a,b,c,x1); else printf(a=%f b=%f c=%f 无实数解!n,a,b,c);9目的运用已学知识解决实际问题。题目内容 编写程序,输入三角形三边 a、b、c,判断a、b、c能否构成三角形,若不能则输出相应的信息,若能则判断组成的是等腰、等边、直角还是一般三角形。输入 三角形三边 a、b、c 输出 不能构成三角形或能构成等腰、等边、直角、一般三角形的信息。提示利用三角形两边之和大于第三边判断是否能够构成三角形,能够成三角形时再以等腰、等边、直角三角形的条件进行判断。#include stdio.hvoid main()float a,b,c;printf(请输入a,b,c:n);scanf(%f%f%f,&a,&b,&c);if(a+bc&b+ca&a+cb)if(a=b&b=c&c=a) printf(a=%f b=%f c=%f 构成等边三角形!n,a,b,c);elseif(a=b|b=c|c=a) printf(a=%f b=%f c=%f 构成等腰三角形!n,a,b,c);else if(a*a=b*b+c*c|b*b=a*a+c*c|c*c=a*a+b*b) printf(a=%f b=%f c=%f 构成直角三角形!n,a,b,c); else printf(a=%f b=%f c=%f 构成一般三角形!n,a,b,c);else printf(a=%f b=%f c=%f 不能构成三角形!n,a,b,c);10目的运用已学知识解决实际问题。题目内容某个电力公司对其用户的收费规定如下:用电数量 收费标准0200 x*0.5元201400 100+(x-200)*0.65元401600 230+(x-400)*0.8元601以上 390+(x-600)*1.0元编写程序,对于一个输入的用电数量,计算用户的缴费额。 输入 用电数量输出 缴费额提示 用ifelse if语句实现。注意输入负数时的处理。#include stdio.hvoid main() double x,y;printf(请输入用电数量x:n);scanf(%lf,&x);if(x=0&x=201&x=401&x=600) y=230+(x-400)*0.8; else y=390+(x-600)*1.0; printf(x=%lf y=%lfn,x,y);11目的运用已学知识解决实际问题。题目内容某个服装展示厅对所卖商品打折规定如下:-购买总额 折扣 - 机加工产品 手工产品0100 - 5%101200 5% 7.5%201300 7.5% 10.0%大于300 10.0% 15.0%-编写程序输入购买总额,计算并输顾客实际应付的货款。输入顾客的购买总额输出 顾客实际应付的货款提示机加工产品与手工产品可以使用类别变量表示,例如,设计类别变量为lb,假设lb=0表示机加工产品,lb=1表示手工产品。#include stdio.hvoid main() double x,y;int lb;printf(请输入顾客购买总额x:n);scanf(%lf,&x);printf(请输入顾客购买类别lb:n);scanf(%d,&lb);if(x=0&x=101&x=201&x=300) if(lb=0) y=x*0.075; else if(lb=1) y=x*0.1; else printf(输入购买类别数据有误!); else if(lb=0) y=x*0.1; else if(lb=1) y=x*0.15; else printf(输入购买类别数据有误!); printf(x=%lf y=%lfn,x,y);12目的switch语句的练习题目内容编程在屏幕上显示一张如下所示的时间表: *Time*1 morning2 afternoon3 nightPlease enter your choice:根据用户输入的时间序号显示相应的问候信息,选择1时显示“Good morning”, 选择2时显示“Good afternoon”, 选择3时显示“Good night”,对于其他选择显示“Selection error!”。 输入 序号 输出 问候语或其他信息提示 用switch语句实现#include stdio.hvoid main() int xh; printf(nn*Time*n); printf(1 morning n); printf(2 afternoon n); printf(3 night n); printf(nn请输入您的选择(1、2、3):);scanf(%d,&xh);switch(xh) case 1: printf(nGood morningn);break; case 2: printf(nGood atfernoonn);break; case 3: printf(nGood nightn);break; default: printf(nSelection error!n);break; 13目的运用已学知识解决实际问题。题目内容编程设计一个简单的计算器程序,要求根据用户从键盘输入的表达式: 操作数1 运算符op 操作数2计算表达式的值,指定的运算符为加(+)、减(-)、乘(*)、除(/) 输入 Please enter the expression:22.12+12.10键盘输入屏幕提示 输出 22.12+12.10=34.22 程序输出 提示 用if或switch语句实现#include void main() float x,y,z; char op; 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; else printf(“除数为0”);printf(“%f%c%f=%fn”,x,op,y,z);#include void main() float x,y,z; char op; 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; else printf(“除数为0”); printf(“%f%c%f=%fn”,x,op,y,z);14输入某学生的成绩,经处理后给出学生的等级,等级分类如下: 90分以上(包括90): A 80至90分(包括80):B 70至80分(包括70):C 60至70分(包括60):D 60分以下: E方法一:(用if语句的嵌套)#include void main()float score;printf(请输入成绩:);scanf(%f,&score);if(score=0&score=90)printf(%f A,score); else if(score=80) printf(%f B,score); else if(score=70) printf(%f C,score); else if(score=60) printf(%f D,score); else printf(%f E,score);else printf(成绩输入有误!);方法二:用switch语句#include void main()float score;in

温馨提示

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

评论

0/150

提交评论