码迷,mamicode.com
首页 > 其他好文 > 详细

实验报告

时间:2021-04-21 12:12:59      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:5*   语言   char*   please   else   独立   关系   活动   根据   

一、实验目的与要求

(1)掌握结构化程序的算法描述方法。
(2)了解C语言的基本语法要素,能熟练地将算法描述转化为C语言程序。
(3)熟练掌握C语言运算符的优先级、结合性、运算规则、运算对象类型等。
(4)掌握C语言逻辑值的表示方法(0代表“假”,1代表“真”)。
(5)学会正确的使用逻辑表达式和关系表达式。
(6)掌握各种形式的if语句语法和使用方法。注意if语句中if和else的匹配关系,以及if语句的嵌套。
(7)掌握switch语句的语法和使用方法。注意在switch语句中break语句的语法及switch语句的嵌套。
(8)能独立编写分支结构程序并测试通过。
(9)用if语句、switch语句解决简单的应用问题并上机实现。

二、实验内容

1、实验练习:3.3.1
(1)问题的简单描述:设计正确的选择结构和流程,输入x值,输出对应y值。
(2)实验代码:

#include<stdio.h>
int main(int argc,char*argv[])
{
	float x,y;
	printf("please input x:\n");
	scanf("%f",&x);
	if(x>=1)
	   if(x>=10)
	      y=3*x-1;
	   else
	      y=2*x-1;
	else
	   y=x;
	printf("y的值为%.2f\n",y);
}

(3)问题分析:没打*号,直接写成3x导致错误。
1·实验练习:3·3·2
(1)问题描述:用算法流程图描述求解鸡兔同笼问题的算法:已知鸡兔的总头数为h,总脚数为f,求鸡兔各有多少只?
(2)实验代码:

#include<stdio.h>int main()
int main()
{
	int h,f,c,r;
    printf("鸡兔总数:");
    scanf("%d",&h);
    printf("鸡兔脚总数:");
    scanf("%d",&f);
    r=(f-h*2)/2;
    c=h-r;
    printf("鸡有%d只,兔有%d只",c,r);
    return 0;
}

(3).问题分析:列算法式时,在等号右侧直接列出最终的算法式
**2·实验练习:3·3·3
(1)问题描述:有四个圆塔,圆心分别为(2,2)、(-2,2)、(2,-2)、(-2,-2),圆半径为1,四个塔的高度均为10m,塔以外无建筑物。现输入任意一点的坐标,若该点的坐标在任意一个圆塔内,则输出圆塔的高度;若该点不在圆塔内,则输出0.
(2)实验代码:

#include <stdio.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):中的x和y");
	scanf("%f,%f,",&x,&y);
	d1=(x-x1)*(x-x1)+(y-y1)*(y-y1);
	d2=(x-x2)*(x-x2)+(y-y2)*(y-y2);
	d3=(x-x3)*(x-x3)+(y-y3)*(y-y3);
	d4=(x-x4)*(x-x4)+(y-y4)*(y-y4);
	if(d1>1&&d2>1&&d3>1&&d4>1)
	  printf("h=0");
	else
	   printf("h=10");
}
}

**3·实验练习:4·3·1
(1)问题描述:读入三个表示箱子长、宽、高的整数值,判断并输出该箱子是正方体还是长方体。
(2)实验代码:

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

(3) 问题分析:打代码速度需提高。
4·实验练习:4·3·2
(1)问题描述:编写程序实现如下功能:商店有打印纸(18元/本)、墨盒(132元/个)、光盘(4.5元/片)出售,商店进行优惠酬宾活动。具体规则如下:顾客购买商品的总额超过100元,优惠%5;超过200元,优惠%6;超过300元,优惠%7;超过400元,优惠%8;超过500元,优惠%10。根据不同的购买量,计算应付货款。
(2):实验代码:

#include<stdio.h>
int main()
{
	int a,b,c;
	float w,z;
	printf("请输入打印纸、墨盒、光盘的数量:");
	scanf("%d,%d,%d,&a,&b,&c");
	printf("打印纸%d张,墨盒%d个,光盘%d个\n",a,b,c);
	if(w>100)
	z=0.95*w;
	else if(w>200)
	z= 0.94*w;
	else if(w>300)
	z=0.93*w;
	else if(w>400)
	z=0.92*w;
	else if(w>500)
    printf("应付款:%.2f");
    return 0;
}

(3)问题分析:捋清思路,更快打完
6、实验练习:4.3.3
(1)问题的简单描述:输入某一年、月的数值,输出该月的天数。
(2)实验代码:

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

(3).问题分析:对于输入输出的分解存在问题。

三、实验小结

1.学会使用sum函数,对于if和switch的使用感受更加深刻
2.对待问题有更多的思路去解决

四、预习第四章

技术图片

实验报告

标签:5*   语言   char*   please   else   独立   关系   活动   根据   

原文地址:https://www.cnblogs.com/banyanbrook/p/14675089.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!