您的位置:首页 > 其它

第五次课后作业

2013-04-11 17:08 351 查看
作业一:

作业1.1:C语言标准库的目的是什么?编写一个小程序,说明如何使用标准库里的数学函数;

我编写的程序:

#include<stdio.h>
#include<math.h>
void main()
{
float a,b;
printf("请输入角度度数\n",b);
scanf("%f",&b);
a=sin(b);
printf("%f\n",a);
}

作业1.2:用一个程序计算下面两个表达式的值;

我编写的程序:

#include<stdio.h>
float chujia(float a,float b,float c)
{
float s;
s=a/(b+c);
return s;
}

void main()
{
float a,b,c;
float s;
a=234;
b=1;
c=257;
s=chujia(a,b,c);
printf("234/(1+257)=%f\n",s);
a=1065;
b=24;
c=13;
s=chujia(a,b,c);
printf("1065/(24+13)=%f\n",s);

}


运行的结果:



 

作业1.3:利用C标准库里的数学函数<math.h>,用一个程序计算下面两个表达式的值;
.


我编写的程序:

#include<stdio.h>

#include<math.h>
#define PI 3.1415926
#define e  2.7182818
void main()
{
double a;
double b;
a=log(sqrt(2*PI-1))/log(5.0);
printf("%f\n",a);

b=pow(e,sqrt(PI+1));
printf("%f\n",b);
}


 

运行的结果:



---------------------------------任务分割线---------------------------------------

任务二:

顺序执行,选择执行,重复执行的代码和运行的结果依次如下:

顺序执行:

#include<stdio.h>
void main()
{
int a,b,c;
printf("请输入一个数字:\n");
scanf("%d",&a);
if(a<=3)
printf("这个数字很吉利哟!\n");
if(a>3)
printf("噢!我不喜欢它!\n");
}	

选择执行:

 

#include<stdio.h>
void main()
{
for(;;)
{
int a;
printf("你的性别是:女(1),男(2):\n");
scanf_s("%d",&a);
if (a<2)
printf("请输入你的出生年月\n");
else
printf("请输入你的姓名\n");
}
}

运行的结果:





------------------------------任务分割线------------------------------------

任务三:

作业3.1:下面的例子有两个if,请说明else部分属于哪个if?为什么?

if (x > 0)

if (y > 1) z = 1;

else z = 2;


解答:应该是第二个;距离else最近的是第二个

作业3.2:上面的例子没问题,但容易造成误解,请修改写法,使其易理解、更容易

我的程序:

 

#include<stdio.h>
void main()
{
int x,y,z;
if(x>0)
{
if(y>1)
z=1;
else
z=2;
}
}


-----------------------------任务分割线-------------------------------------

任务四:

请根据你对循环的理解,在一个程序中先写一段while循环代码;再用for语句重写“while循环”代码;

我的程序:

#include<stdio.h>
void main()
{
int a;
a=1;
while(a<=10)
{
printf("%d\n",a);
a++;
}
}


 

#include<stdio.h>
void main()
{
int a;
for(a=1;a<=10;a++)
printf("%d\n",a);
}


 

-------------------------------任务分割线--------------------------------------------
任务五:

作业5.1:定义一个计算圆面积的函数,并在主函数中调用两次,从而分别计算两个不同圆的面积;

我的程序:

 

#include<stdio.h>
#define PI 3.1415927
double mianji(double r)
{
double a;
a=PI*r*r;
return a;
}
int main()
{
double r,s,r1,s1;
printf("请输入圆的半径:");
scanf_s("%Lf",&r);
s=mianji(r);
printf("该圆的面积为:%2f\n",s);

printf("请输入圆的半径:");
scanf_s("%Lf",&r1);
s1=mianji(r1);
printf("第二个圆的面积s1=%2f\n",s1);
}


 

运行的结果:



----------------------------------任务分割线-----------------------------------------

我作业5.2:下面的例子程序可以正常通过编译,但执行时却得不到正确结果。也就是说,这个程

                         序有语义错误。为什么呢?

解答:我觉得在“int main()中已经规定了整型,但是sin中却有分数,并且sin 的计算结果也不是整型,会不会是这个问题

------------------------------------任务分割线---------------------------------------

任务六:

我的程序:

 

#include<stdio.h>
#include<math.h>
double ss(double a,double b,double w)
{
double s;
s=a*b*sin(w/180.0*3.14)/2.0;
return s;
}
void main()
{
int x;
double s,c,d,e;
for(x=0;x<=4;x++)
{
printf("请输入第%d组三角形的参数:",x);
scanf_s("%Lf %Lf %Lf",&c,&d,&e);
printf("第%d组三角形的实参为:A边长%.2Lf;B边长%.2Lf;夹角%.2Lf\n",x,c,d,e);
s=ss(c,d,e);
printf("第%d组三角形的面积为:%.2Lf\n",x,s);
printf("---------分割线--------\n");
}
}


 

运行的结果:





--------------------------------------任务分割线---------------------------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: