C语言第二次实验报告
C语言第二次实验报告
一、实验的目的与要求
1、掌握DEVC++的安装方法,并实现程序的编辑、编译、连接、运行。
2、通过运行简单的C语言程序,初步了解C语言的结构特点。
3、掌握C语言的基本类型及使用方法。
4、熟悉C语言运算符和表达式的正确使用方法。
5、熟练掌握Markdown的用法
二、实验内容
1、实验练习:3.3.1
1、问题的简单描述:输入x值,输出满足函数的y值。并用c语言进行验证。
2、实验代码:
#include <stdio.h>
int main ()
{
float x,y;
printf("请输入x的值:");
scanf("%f",&x);
if(x>1)
if(x<10)
y=2*x-1;
else
y=3*x-1;
else
y=x;
printf ("y的值为%.2f\n",y);
}
3.问题分析:注意if与else的对应关系,明确if的条件是可以简单改变的。
2.实验练习:3.3.2
1、问题简单描述:鸡兔同笼用算法计算。
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.3
1、问题简单描述:有四个圆塔,圆心分别为(2,2)(2,-2)(-2,-2)(-2,2),圆半径为1,这四个塔高为10m,塔以外无建筑物。现输入任一坐标,若该点坐标在任意一个圆塔内,则输出圆塔高度;若不在圆塔内,则输出高度为0。
2、实验代码:
#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));
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);
}
3.问题分析:注意sqrt的应用,&&的引用。
4、实验练习4.3.1
1、问题简单描述:输入3个表示箱子长、宽、高的值,判断并输出该箱子是长方体还是正方体?
2、实验代码:
#include<stdio.h>
int main()
{
int l,w,h;
printf ("请输入箱子的长,宽,高:\n");
scanf ("%d,%d,%d",&l,&w,&h);
if(l==w&&w==h)
printf("该箱子是正方体!");
else
printf("该箱子是长方体!");
}
3.问题分析:注意==为判断号,if···else对应关系。
5、实验练习4.3.2
1、问题简单描述:商店有打印纸(18元/本)、墨盒(132元/个)、光盘(4.5元/片)出售,商店进行优惠活动。具体规则如下:顾客购买商品的总额超过100元,优惠%5;超过200元,优惠%6;超过300元,优惠%7;超过400元,优惠%8;超过500元,优惠%10。根据不同的购买量,计算应付货款。
2、实验代码:
#include<stdio.h>
main()
{
float x,y,z,w,h;
printf("请输入打印纸,墨盒,光盘的数量:");
scanf("%f,%f,%f",&x,&y,&z);
w=18*x+132*y+4.5*z;
if(w>500)
{h=w*0.9;
printf("应付款数=%.2f",h);}
else if(w>400)
{h=w*0.92;
printf("应付款数=%.2f",h);}
else if(w>300)
{h=w*0.93;
printf("应付款数=%.2f",h);}
else if(w>200)
{h=w*0.94;
printf("应付款数=%.2f",h);}
else if(w>100)
{h=w*0.95;
printf("应付款数=%.2f",h);}
else
{h=w;
printf("应付款数=%.2f",h);}
}
3.问题分析:可以将优惠的钱直接转换成应该付的钱,优惠也从500开始变小才可以。
6、实验练习4.3.3
1、问题简单描述:输入年、月的数值,输出该年该月的天数
2、实验代码:
#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%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; break;
case 4:
case 6:
case 9:
case 11: days=30; break;
}
printf("%d年%d月有%d天",year,month,days);
return 0;
}
3.问题分析:注意case的排布。刚开始,判断年份是不是闰年有点难,后来也算是搞懂了,但是不是特别懂哦。