(C语言)实验3 分支结构程序设计

【实验目的】

1、熟练掌握C语言的格式输入方式的使用,能正确使用getchar()和putchar()函数输入字符。
2、掌握关系运算符和关系表达式的使用方法,以及逻辑运算符和逻辑表达式的使用方法。
3、理解C语言程序的顺序结构、分支结构、循环结构以及if…else、for语句的使用。

【实验要求】

1、实验共5题每题20分,共100分;
2、实验需在截至日期前提交实验平台,截止日上传答案,同学互改;
3、学生对实验分数有异议,提交申请,带教老师修正得分;
4、原则上学生需独立完成实验题,个别难题可互相讨论或查阅资料;
5、若对试验题有疑问,且仔细阅读测试用例,可咨询带教老师。

【实验内容】

1、输入x,求分段函数的值(569)
2、教材P66-三(5):三角形判断 (559)
3、输入月份1-12,输出其对应的季节. (566)
4、输入一个整数,判断它能否被5,7整除,并输出该数对应的类型 (1168)
5、判断闰年(if-else逐步判断) (1191)

【题目1】

【编程题】输入x,求分段函数的值
【题目ID】569
【问题描述】输入x,求分段函数的值,函数如下:
(C语言)实验3 分支结构程序设计_第1张图片
【输入形式] 输入x的值
【输出形式】输出函数的值(保留2位小数)
【样例说明】
(C语言)实验3 分支结构程序设计_第2张图片
【测试用例】
【用例1】
输入:
-5
输出:
y=-5.00
【用例2】
输入:
4
输出:
y=3.00
【用例3】
输入:
10
输出:
y=19.00

【用例4】
输入:
12.5
输出:
y=26.50

【题目2】

【编程题】教材P66-三(5):三角形判断
【题目ID】559
【问题描述】教材P66-三(5):三角形判断
【输入形式】输入三个点的坐标值
【输出形式】若该三点能构成三角形则输出周长和面积,否则输出Impossible;
【样例说明】
(C语言)实验3 分支结构程序设计_第3张图片
【测试用例】
【用例1】
输入:
1,1
3,0
-1.5,-2.5
输出:
primeter=11.69,area=4.75
【用例2】
输入:
1,0
2,0
3,0
输出:
Impossible

【题目3】

【编程题】输入月份1-12,输出其对应的季节.
【题目ID】566
【问题描述】
输入月份1-12,输出其对应的季节(2-4:Spring,5-7:Summer,8-10:Autumn,11-12、1:Winter)。否则输出Error。
【输入形式】输入月份(整数)
【输出形式】输出季节名称
【样例说明】
(C语言)实验3 分支结构程序设计_第4张图片
【测试用例】
【用例1】
输入:
3
输出:
Spring
【用例2】
输入:
5
输出:
Summer
【用例3】
输入:
10
输出:
Autumn
【用例4】
输入:
1
输出:
Winter
【用例5】
输入:
-10
输出:
Error

【题目4】

【编程题】输入一个整数,判断它能否被5,7整除,并输出该数对应的类型
【题目ID】1168
【问题描述】
输入一个整数,判断它能否被5,7整除,并输出该数所属类型。A:能同时被5,7整除;B:能被5整除;C:能被7整除;D:不能被5,7任一个整除
【输入形式】输入一个整数
【输出形式】输出对应类型的字母分类
【样例说明】
(C语言)实验3 分支结构程序设计_第5张图片
(C语言)实验3 分支结构程序设计_第6张图片
(C语言)实验3 分支结构程序设计_第7张图片
【测试用例】
【用例1】
输入:
35
输出:
A
【用例2】
输入:
15
输出:
B
【用例3】
输入:
12
输出:
D
【用例4】
输入:
14
输出:

【用例5】
输入:
10
输出:
B

【题目5】

【编程题】判断闰年(if-else逐步判断)
【题目ID】1191
【问题描述】
在下列程序的基础上完善程序。本题考察的是嵌套的if-else结构,请仔细分析程序的逻辑结构。

#include
int main(){
    int year,leap;//leap为0,不是闰年;leap为1,是闰年
    scanf("%d",&year);
    if(year%4==0){              /*能被4整除的情况*/1}
  else 
       leap=0;//不能被4整除,不是闰年 如:1973
  if(leap)printf("yes");
  else printf("no");
}

思路:1)能被4整除
1.1) 能被100整除
1.1.1) 能被400整除//闰年,如2000
1.1.2) 不能被400整除//平年,如1900
1.2) 不能被100整除//闰年,如1996
2)不能被4整除//平年,如1999
输入:一行,一个整整数,代表年份
输出:一行,yes 或者 no,yes表示闰年,no表示平年
【输入输出】
(C语言)实验3 分支结构程序设计_第8张图片
(C语言)实验3 分支结构程序设计_第9张图片
【测试用例】
【用例1】
输入:
1900
输出:
no
【用例2】
输入:
2000
输出:
yes
【用例3】
输入:
1999
输出:
no
【用例4】
输入:
1996
输出:
yes
【用例5】
输入:
800
输出:
yes

我的答案(100分)

(C语言)实验3 分支结构程序设计_第10张图片
(C语言)实验3 分支结构程序设计_第11张图片
(C语言)实验3 分支结构程序设计_第12张图片
(C语言)实验3 分支结构程序设计_第13张图片
(C语言)实验3 分支结构程序设计_第14张图片

标准答案

1.输入x,求分段函数的值

#include
#include
int main(){
	float x,y;
	scanf("%f",&x);
	if(x<1)
		y=x;
	else if(x<10)
		y=x-1;
	else 
		y=3*x-11;
	printf("y=%.2f",y);
	return 0;
} 

2.教材P66-三(5):三角形判断

#include
#include
int main(){
	float x1,y1,x2,y2,x3,y3;
	float z12,z23,z13,p,s;
	/*scanf("%f,%f",&x1,&y1);
	scanf("%f,%f",&x2,&y2);
	scanf("%f,%f",&x3,&y3);*/ 
	scanf("%f,%f%f,%f%f,%f",&x1,&y1,&x2,&y2,&x3,&y3);
	z12=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
	z23=sqrt((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3));
	z13=sqrt((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3));
	if(z12+z23>z13 && z13+z23>z12 && z13+z12>z23){
		p=(z12+z23+z13)/2;
		s=sqrt(p*(p-z12)*(p-z13)*(p-z23));
		printf("primeter=%.2f,area=%.2f",p*2,s);
	}	
	else
		printf("Impossible");
	return 0;
}

3.输入月份1-12,输出其对应的季节.

#include
int main(){
	int season;
	scanf("%d",&season); 
	switch(season){
		case 2:
		case 3:
		case 4:
			printf("Spring");break;
		case 5:
		case 6:
		case 7:
			printf("Summer");break;
		case 8:
		case 9:
		case 10:
			printf("Autumn");break;
		case 11:
		case 12:
		case 1:
			printf("Winter");break;
		default:
			printf("Error");break;
	}
	return 0;
}

4.输入一个整数,判断它能否被5,7整除,并输出该数对应的类型

 #include
 int main(){
 	int x;
 	scanf("%d",&x); 
 	if(x%5==0&&x%7==0)
 		printf("A");
 	else if(x%5==0&&x%7!=0)
 		printf("B");
 	else if(x%5!=0&&x%7==0)
 		printf("C");
 	else
 		printf("D");
	return 0;
 }

5.判断闰年(if-else逐步判断)

#include
int main(){
	int year,leap;//leap为0,不是闰年;leap为1,是闰年 
	scanf("%d",&year);
	if(year%4==0){              /*用if函数逐步判断是否满足成为闰年的条件*/
       if(year%100==0){
           	if(year%400==0)
             leap=1;  //是闰年       
           	else
             leap=0; //不是闰年        
       }
       else
        	leap=1;//是闰年 
   }
   	else	
      	leap=0;//不是闰年 
    if(leap)printf("yes");
    else printf("no");
} 

你可能感兴趣的:(笔记,C语言实验)