1、,a,b,c);if(ab)&(ac)if(bc)printf(min=%dn,b);else ,c);if(a(a,a);解答:(1)源代码:#includestdio.hvoid main( ) int a,b,c; scanf(,&a,&b,&c); if(a printf(,a); else if(ba)&(b,b); else if(c(ca),c);(2)运行结果: (3)运行结果分析:答:原程序中scanf语句中没有加地址符&,有些分号为全角,应该换成半角,并且原程序中的if语句不够全面,导致输入2 1 3时无输出结果,经修改,任意输入三个不同的整数,均可输出与实际相符的正确结果
2、。 2.参考上一题,编写一个C程序,求a、b、c、d四个数中的最大者。编程点拨:多定义一个变量,并一开始令变量max=a;if(maxmax) max=b; if(c max=c; if(d max=d;最大的数是%dn,max); return 0;首先max=a,即51,然后执行第一条if语句,b=21,bmax为假,执行下一条if语句,c=3,cmax为假,执行下一条if语句,d=98,dmax为真,执行花括号里面的语句,max=d,即a与d互换,max变为d,即98,输出最大的数是98. 3.输入4个整数,要求按由小到大顺序输出。得到正确结果后,修改程序使之按由大到小顺序输出。相关知识
3、:输入函数scanf()的使用;简单的排序算法;通过中间变量t交换a和b值的方法:t=a; a=b; b=t;。#include float a,b,c,d,t;请输入四个正整数:%f%f%f%f if(ab) t=a; a=c; c=t;d) a=d; d=t; t=b; b=c; b=d; t=c; c=d;%5.2f,%5.2f,%5.2f,%5.2fn,a,b,c,d);首先a=25,b=11,c=6,d=64,ab为真,从而a、b互换,现在a=11,b=25,c=6,d=64,ac为真,从而a、c互换,现在a=6,b=25,c=11,d=64,然后ad为假,不执行接在它下面花括号里面
4、的内容,再,bc为真,从而b、c互换,现在a=6,b=11,c=25,d=64,接下来bd和cd均为假,最终执行输入语句,输出结果如上图所示。4.根据以下函数关系,对输入的每个x值,计算出相应的y值。 当X取其他值时#include double x,y;请输入一个x值n%lfx); if(x=0&x=3&=4) y=fabs(x)+2; y=sin(x*x); printf(y=%fn,y); return 0;试验了3个值,x分别等于0,3,5 经验证均与实际情况相符合。5模仿第4题,写程序实现以下函数:用scanf函数输入x的值,求y值。运行程序,输入x的值(分别为x1、1x10、x10
5、三种情况),检查输出的y值是否正确。请输入自变量x的值n if(x1) y=x;=1&=10) y=2*x-1; y=3*x-11;y的值为%fn试验了3个值,分别为0,8,100,输出结果均与实际运算相符合6.阅读分析以下程序的功能。 int choice; int value;Convert: /* 显示菜单 */ 1:decimal to hexadecimaln 2:hexadecimal to decimaln 3:decimal to octaln 4:octal to decimalnenter your choice: %dchoice); switch (choice) ca
6、se 1: /* 选中1时处理 */ printf(enter decimal value: scanf(value);%d in hexadecimal is:%xn,value,value); break;case 2: /* 选中2时处理 */ printf(enter hexadecimal value:%x%x in decimal is:%dn case 3: /* 选中3时处理 */XX文库 - 让每个人平等地提升自我 printf(%d in octal is:%on case 4: /* 选中4时处理 */enter octal value:%o%o in decimal i
7、s: (1)运行结果:(2)运行结果分析:该程序为一个实现进制转换功能的程序,choice1对应十进制转十六进制,choice2对应十六进制转十进制,choice3对应十进制转八进制,choice4对应八进制转十进制。实验的时候选了choice2,即实现将一个十六进制的数转换为十进制,如上图所示,验证情况如下图。7. 模仿第6题,要求对输入的数字17转换成文字星期几,对其它数字不转换。例如,输入5时,程序应该输出Friday。int main( ) int day;转换n请输入一个数字:day); if(day7)请再次输入n switch (day) case 1:Mondayn case
8、2:Tuesdayn break; case 3:Wednesdayn case 4:Thursdayn case 5:Fridayn case 6:Saturdayn case 7:Sundaynreturn 0; 输入一个1到7阿拉伯数字,将它转换为星期几。实验的时候,输入一个数字7,输出结果为Sunday。当输入一个小于0或大于7的数字时,例如12,输出结果为“请再次输入”。三、结论本次试验主要涉及用if语句处理选择结构以及用switch语句实现多分支选择结构,深刻体现了选择结构程序设计的思想以及方法的多样性与灵活性。还涉及到了用C语言来表现数学中的分段函数问题。说明:1.电子实验报告填写好后,以学生的学号+实验项目名作为该word文件名保存,例如某学生学号为20080001,姓名为某某,本次实验名称是:实验一 顺序结构程序设计,则本次实验报告的保存文件名为:01某某实验一.doc。2.在规定的时间内,学生将本报告提交给实验指导教师。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1