具体要求如下:
①用if语句实现分支。自变量x与函数值均用单精度类型。
②自变量x用scanf函数输入,且输入前要有提示。结果的输出采用以下形式: x=具体值,f(x)=具体值
③分别输入x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0,运行该程序。 3.先静态分析以下程序的运行结果,然后上机验证。 # include “stdio.h” void main( )
{ int a=3,b=4,c=5,x,y,z; x=c>b>a;
y=!a+b z=c/b+((float)a/b&&(float)(a/c)); printf(“\\n x=%d,y=%d,z=%d”,x,y,z); x=a||b--; y=a---3&&b; printf(“\\n %d,%d,%d,%d,%d,%d”,a,b,c,x,y,z); } 上机运行的结果与你分析的结果是否一致?不一致的原因何在? 请在程序的最后一个花括号前加上语句:getchar();后重新运行程序,注意事项加上这一语句后,程序的运行进程有何不同?getchar()是一个函数调用,其作用是等待接收你从键盘输入的一个字符,在你未按键之前一直处于等待状态。在这里可以起到暂停的作用。当你看清结果并按任意键后,立即退出程序并切换回TC主屏幕。用这一方法可以减少屏幕切换操作。 4.下列C程序的功能是:计算并输出分段函数值。 其中x由键盘输入。 请通过调试修改程序中的错误(包括语法错误和逻辑错误)。 #include “stdio.h” main( ) {float x,y; printf(“input x=”); scanf(\,&x); if((-5.0<=x<0.0)&&(x!=-2.0))y=1.0/(x+2.0); else if(x<5.O)y=l.0/(x+5.0); else if(x printf(\,x,y); } 具体要求如下: 11 ①不允许改变计算的精度。 ②不允许改变原来程序的结构,只能在语句或表达式内部进行修改。 ③调试正确后,用x=-7.0,-2.0,-1.0,0.0,2.0,5.0,8.0,10.0,11.0运行这个程序。 ④画出与调试正确后的程序对应的流程图。 【自编程序上机】 1. 数据整除判断 编程实现:输入一个整数,判断它能否被3,5,7整除,并输出以下信息之一:①能 同时被3,5,7整除;②能被其中两数(要指出哪两个)整除;③能被其中一个数(要指出哪一个)整除;④不能被3,5,7任一个整除。 提示: ⑴判断能否被某一个数整除应采用求余运算。 ⑵在一个程序中利用选择结构把四种可能的信息全部表示出来。 2.用scanf函数输入一个百分制成绩(整型量),要求输出成绩等级A,B,C,D,E。其中90-100分为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。 具体要求如下: ①用if语句实现分支。 ②在输入百分制成绩前要有提示。 ③在输入百分制成绩后,要判断该成绩的合理性,对于不合理的成绩(即大于100分或小于0分)应输出出错信息。 ④在输出结果中应包括百分制成绩与成绩等级,并要有文字说明。 ⑤分别输入百分制成绩:-90,100,90,85,70,60,45,101,运行该程序。 3.将第2题中的(1)改为“用switch语句实现”,其余不变,重复实现第2题中的各功能。 4.编程找出5个整数中的最大数和最小数,并输出找到的最大数和最小数。 5.假设一种自动售货机可以为顾客提供3种价格档次的不同饮料。投入2元钱,可选择康师傅矿泉水、怡宝矿泉水和农夫山泉之一;投入3元钱,可选择可乐、雪碧和果汁之一;投入5元钱,可选择奶茶、咖啡和酸奶之一。 编写程序,模拟用户向自动售货机投入钱币选择一种饮料的过程。 提示:使用scanf()函数模拟投入钱币,使用getchar()函数模拟选择饮料(输入A、B、C代表选择的饮料)。 12 。【实验报告】 实习时间: 实习地点: 实习机号: 具 体 实 验 内 容 13 程 序 调 试 过 程 实 习 小 结 14 实验四 循环结构程序设计 【实验目的】 1.进一步练习选择结构的程序设计。 2.练习并掌握实现循环结构的三种方法。 3.练习并掌握选择结构与循环结构的嵌套。 4.掌握多重循环的应用。 5.学会单步跟踪的操作方法。 【上机实习指导】 1.根据字母判断是星期几 平时我们看到M时就想到星期一,看到W时就想到星期三,请用C语言程序编写当输入星期几的第一个字母就判断出是星期几,如果第一个字母一样,则用第二个字母来判断。要求输入为字母‘Y’时,结束判断。 提示:可利用C语言的switch语句实现多路分支:根据输入的的第一个字母、第二个字母,判断是星期几,如果第一个字母一样,如星期二和星期四(Tuesday和Thursday),则用if语句判断第二个字母,这样就可以解决问题了。另外为了实现可以多次进行判断,此题还需用循环进行控制。 要求:当输入字母“Y”时,则结束程序。当输入的不是星期几的第一个字母时,则可给出出错信息:printf(“DATA ERROR!”);当输入两个星期几相同的字母时,则可给出提示信息:printf(“PLEASE INPUT SECOND LETTER\\n”)。 【自编程序上机】 1.如果一个数恰好等于它的所有因子(包括1但不包括自身)之和, 例如:6的因子为1,2,3,且1+2+3=6,因此6是一个“完数”。 计算并输出1000以内的所有“完数”之和。 具体要求如下: ①所有循环均用for循环。 ②输出要有文字说明,并同时输出各“完数”。输出形式为: 完数1+完数2+?=和值 2.打印如下图所示的数字金字塔(注意观察数字分布的规律)。 3.百钱买百鸡问题。已知公鸡每只5元,母鸡每只3元,小鸡1元3只,要求100元钱正好买100只鸡,则应买公鸡、母鸡的小鸡各多少只? 4.某班有学生n人,从终端读入n及n个人学生的成绩,试编程实现以下功能: ①打印出前3个最好成绩及取得每个最好成绩的人数; ②若90分以上计为优,75-89分计为“良”,60-74分计为“中”,60分以下计为“不及格”,试统 15