第二次实验报告

实验项目:简单算法和分支结构

姓名:王震 实验时间:2021年4月15日

一、实验目的和要求

1、通过运行简单的C语言算法程序,熟悉简单算法的结构;
2、掌握分支结构的基本类型和用法;
3、熟悉掌握C语言的调试功能;
4、学会使用思维导图。

二、实验内容

1、实验练习3.3.1

#include<stdio.h>
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>
main()
{
	int h,f,x,y;
	printf("鸡兔总数,鸡兔脚总数: ");
	scanf("%d,%d",&h,&f);
	if(x>0&&y>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<stdio.h>
#include<math.h>
main()
{
	int h=10;
	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));
	d1=sqrt((x-x3)*(x-x3)+(y-y3)*(y-y3));
	d1=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;
	printf("请输入箱子的长、宽、高: \n");
	scanf("%d%d%d",&l,&w,&h);
	if(l==w&&l==h&&w==h)
	printf("该箱子是正方体。\n");
	else
	printf("该箱子是长方体。\n");
}

5、实验练习4.3.2

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

6、实验练习4.3.3

#include<stdio.h>
main()
{
	int year,month,days;
	printf("Please enter year and month: \n");
    scanf("%d%d",&year,&month);
    switch(month)
    {
    	case 2:if(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;break;	
    	case 4:
    	case 6:
    	case 9:
    	case 11:days=30;break;
	}
	printf("%d %d %d\n",year,month,days);
}

问题总结

1、要注意大小写的区分。
2、注意if后面不能加分号。
3、注意else要跟紧前面的if。

三、实验小结

1、对if语句和switch语句的运用更加熟练。
2、对C语言的代码更加熟练。
3、更加熟悉C语言的代码结构。

四、思维导图

posted @ 2021-04-19 20:59  王雨辰。  阅读(48)  评论(0编辑  收藏  举报