您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 能源与动力工程 > 实验3选择结构参考答案
实验三选择结构程序设计二、程序调试方法实验上机题目:编程实现求分段函数的值。找出并改正以下源程序中错误,得出正确的运行结果。#include<stdio.h>voidmain(){floatx,y;printf("请输入x:");scanf("%f",&x);if(1<=x<10){y=x*x-2*x+1;printf("y=%f\nx=%f,1<=x<10\n",y,x);}else{y=0;if(x<1);printf("y=%f\nx=%f,x<1\n",y,x);elseprintf("y=%f\nx=%f,x>=10\n",y,x);}}三、编写程序1、编写程序。从键盘输入一个整数x,如果x是偶数,输出“x是个偶数”的提示;否则,输出“x是个奇数”的提示信息。提示:偶数的判断方法x%2==0#include<stdio.h>voidmain(){intx;printf("请输入一个整数:");scanf("%d",&x);if(x%2==0)printf("%d是一个偶数\n",x);elseprintf("%d是一个奇数\n",x);}2、为鼓励居民节约用水,自来水公司采用按月用水量分段计费的办法,居民应交水费y元与月用水量x吨的函数关系式如下(设x?0)。编写程序,输入用户的月用水量x吨,计算并输出该用户应支付的水费y元(保留两位小数)。#include<stdio.h>voidmain(){floatx,y;printf("请输入用户的月用水量(吨):");scanf("%f",&x);if(x<0)printf("输入数据非法\n");else{if(x>15)y=2.5*x-10.5;elsey=4*x/3;printf("该用户应支付的水费为%.2f元\n",y);}}3、编写程序。从键盘输入字符ch,判断它是哪一类字符(英文字母、数字、其他字符)。【例3-8】#include"stdio.h"voidmain(void){charch;printf("请输入一个字符:");ch=getchar();if(ch>='0'&&ch<='9')printf("%c是数字\n",ch);elseif(ch>='A'&&ch<='Z'||ch>='a'&&ch<='z')printf("%c是字母\n",ch);elseprintf("%c是其他字符\n",ch);}4、从键盘随机输入三个英文字母,要求从小到大的顺序输出这3个字母。【例3-7】#include<stdio.h>voidmain(void){chara,b,c,t;printf("输入三个英文字符:");scanf("%c%c%c",&a,&b,&c);if(b<a){t=a;a=b;b=t;}if(c<a){t=a;a=c;c=t;}if(c<b){t=b;b=c;c=t;}printf("%c,%c,%c\n",a,b,c);}5、判断输入的3个数是否能构成三角形,如果能构成三角形,则判断其是哪一种三角形(等边、等腰、直角或者一般)#include<stdio.h>#include<math.h>main(){floata,b,c;intflag=0;printf("输入三角形的三条边:");scanf("%f%f%f",&a,&b,&c);if(a+b>c&&abs(a-b)<c){if(fabs(a-b)<=1e-6&&fabs(b-c)<=1e-6){printf("等边三角形\n");flag=1;}if(fabs(a-b)<=1e-6||fabs(b-c)<=1e-6||fabs(a-c)<=1e-6){printf("等腰三角形\n");flag=1;}if(fabs(a*a+b*b-c*c)<=1e-6||fabs(a*a+c*c-b*b)<=1e-6||fabs(c*c+b*b-a*a)<=1e-6){printf("直角三角形\n");flag=1;}if(!flag)printf("普通三角形\n");}elseprintf("不能构成三角形");}6、从键盘上输入直角坐标系上一个点的坐标(x,y),编程实现判断该点属于第几象限。#include"stdio.h"#include"math.h"voidmain(){floatx,y;printf("请输入坐标x,y\n");scanf("%f,%f",&x,&y);if(fabs(x)<1e-6||fabs(y)<1e-6)printf("坐标轴\n");elseif(x>0&&y>0)printf("第一象限\n");elseif(x<0&&y>0)printf("第二象限\n");elseif(x<0&&y<0)printf("第三象限\n");elseif(x>0&&y<0)printf("第四象限\n");}7、输入年、月,根据输入的年月,判断该月有多少天。1,3,5,7,8,10,12月:31天4,6,9,11月:30天2月:28/29天提示:判断闰年的条件,年份能被4整除但不能被100整除,或者能被400整除。#include"stdio.h"voidmain(){intyear,month;printf("请输入年月(yyyydd)");scanf("%4d%2d",&year,&month);switch(month){case2:if(year%4==0&&year%100!=0||year%400==0)printf("%d年%d月有29天\n",year,month);elseprintf("%d年%d月有28天\n",year,month);break;case1:case3:case5:case7:case8:case10:case12:printf("%d年%d月有31天\n",year,month);break;case4:case6:case9:case11:printf("%d年%d月有30天\n",year,month);break;default:printf("输入的月份%d有误\n",month);break;}}8、编程实现:输入一个不多于5位的正整数,要求:(1)输出它是几位数,(2)按逆序输出各位数字,如原数为321,则应输出123。#include"stdio.h"voidmain(){intnumber;intbits=0;intbit;printf("请输入一个不超过5位的正整数:");scanf("%d",&number);if(number>=100000||number<0)printf("输入的数字非法\n");else{if(number>=10000)bits=5;elseif(number>=1000)bits=4;elseif(number>=100)bits=3;elseif(number>=10)bits=2;elsebits=1;printf("%d位数\n",bits);switch(bits){case5:bit=number%10;number=number/10;printf("%d",bit);case4:bit=number%10;number=number/10;printf("%d",bit);case3:bit=number%10;number=number/10;printf("%d",bit);case2:bit=number%10;number=number/10;printf("%d",bit);case1:bit=number;printf("%d\n",bit);}}}
本文标题:实验3选择结构参考答案
链接地址:https://www.777doc.com/doc-4783805 .html