C语言实验报告2

一、实验目的及要求
1、第三章实验目的的要求:
(1)掌握结构化程序的算法描述方法。
(2)了解C语言的基本语法要素,能熟练地将算法描述转化为C语言程序。
(3)熟练掌握C语言运算符的优先级、结合性、运算规则、运算对象类型等。

2、第四章实验目的及要求:
(1)掌握C语言逻辑值的表示方法(0代表“假”,1代表“真")。
(2)学会正确地使用关系表达式和逻辑表达式。
(3)掌握各种形式的if语句语法和使用方法。注意if语句中if和else的匹配关系,以及if语旬的嵌套。
(4)掌握switch 语句的语法和使用方法。注意在switch 语句中break语句的用法及switch语句的嵌套。
(5)能独立编写分支结构程序并调试通过。)
(6)用if语句、switch语句解决简单的应用问题并上机实现。
二、实验练习:
1.实验练习3.3.1

#include<stdio.h>
int main()
{
  float x,y; 
  printf("请输入x的值:");
  scanf("%f",&x);
  if(x<1)
  {y=x;
  printf("y的值为%.2f\n",y);
   } else if(x>=1&&x<10)
   {y=2*x-1;
   printf("y的值为%.2f\n",y);
   }else if(x>10)
   {y=3*x-1;
   printf("y的值为%.2f\n",y);
   }else
   printf("y的值为%.2f\n",y);
}

2.实验练习3.3.2
实验代码

#include<stdio.h>
int main()
{
	int h,f,x,y;
	printf("鸡兔总数,鸡兔脚总数:");
	scanf("%d,%d",&h,&f);
	if(h>0&&f>0)
	    { 
	        x=(4*h-f)/2;
	        y=(f-2*h)/2;
	        printf("鸡有%d   兔有%d\n",x,y);
	    } 
	else
	printf("输入错误!\n");
}

3.实验练习3.3.3
实验代码

#include<math.h>
#include<stdio.h>
int main()
{
	int   h=10;
	int float  x1=2,y1=2,x2=-2,y2=2,x3=-2,y3=-2,x4=2,y4=-2,x,y,d1,d2,d3,d4;
	printf("请输入一个点(x,y):");
	scanf("%f,%f",&x,&y);
	d1=sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1));
	d2=sqrt((x-x2)*(x-x2)+(y-y2)*(y-y2));
	d3=sqrt((x-x3)*(x-x3)+(y-y3)*(y-y3));
	d4=sqrt((x-x4)*(x-x4)+(y-y4)*(y-y4));
	if(d1>1&&d2>1&&d3>1&&d4>1)
	h=0;
	printf("该塔高度为%d",h);
}

4.实验练习4.3.1
实验代码

#include<stdio.h> 
main()
{
	int l,w,h;
	int printf("请输入箱子的长、宽、高:\n");
	scanf("%d,%d,%d",&l,&w,&h);
	if(l==w&&w==h)
	{
	printf("该箱子是正方体。\n");
	}else
	printf("该箱子是长方体。\n");
}

5.实验练习4.3.2
实验代码

#include<stdio.h>
int main()
{
	int float w ;
	int t,x,y,z;
	printf("请输入打印盒、墨盒、光盘的数量:");
	scanf("%d,%d,%d",&x,&y,&z);
	w=x*18+y*132+z*4.5;
	t=(int)w/100;
	switch(t)
	{
	  case 0:printf("应付款数=%.2f",w);break;
	  case 1:printf("应付款数=%.2f",w*0.95);break;
	  case 2:printf("应付款数=%.2f",w*0.94);break;
	  case 3:printf("应付款数=%.2f",w*0.93);break;
	  case 4:printf("应付款数=%.2f",w*0.92);break;
	  default:printf("应付款数=%.2f",w*0.90);break;
	}
	return 0;
}

6.实验练习4.3.3
实验代码

#include<stdio.h>
int main()
{
	int year,month,days;
	printf("Please enter year and month:\n");
	scanf("%d,%d",&year,&month);
	switch(month)
	{
		case 2:if((year%4==0&&year%100!=0)||year%400==0)
		days=29;
		      else
		         days=28;break;
		case 1:
		case 3:
		case 5:
		case 7:
		case 8:
		case 10:
		case 12:days=31;
		case 4:
		case 6:
		case 9:
		case 11:days=30;break; 
	}
	printf("%d年%d月有%d天",year,month,days);
}

三、实验小结:
1.知道了switch语句中在没有遇到break之前会一直进行,遇到break才会结束。
2.学会用if...else嵌套结构
3.对格式更加熟练
四、思维导图

posted on 2021-04-19 17:58  爱笑的老皮  阅读(132)  评论(1编辑  收藏  举报