第五次课后作业
2013-04-11 17:08
351 查看
作业一:
作业1.1:C语言标准库的目的是什么?编写一个小程序,说明如何使用标准库里的数学函数;
我编写的程序:
作业1.2:用一个程序计算下面两个表达式的值;
我编写的程序:
运行的结果:
作业1.3:利用C标准库里的数学函数<math.h>,用一个程序计算下面两个表达式的值;
.
我编写的程序:
运行的结果:
---------------------------------任务分割线---------------------------------------
任务二:
顺序执行,选择执行,重复执行的代码和运行的结果依次如下:
顺序执行:
选择执行:
运行的结果:
------------------------------任务分割线------------------------------------
任务三:
作业3.1:下面的例子有两个if,请说明else部分属于哪个if?为什么?
if (x > 0)
if (y > 1) z = 1;
else z = 2;
解答:应该是第二个;距离else最近的是第二个
作业3.2:上面的例子没问题,但容易造成误解,请修改写法,使其易理解、更容易
我的程序:
-----------------------------任务分割线-------------------------------------
任务四:
请根据你对循环的理解,在一个程序中先写一段while循环代码;再用for语句重写“while循环”代码;
我的程序:
-------------------------------任务分割线--------------------------------------------
任务五:
作业5.1:定义一个计算圆面积的函数,并在主函数中调用两次,从而分别计算两个不同圆的面积;
我的程序:
运行的结果:
----------------------------------任务分割线-----------------------------------------
我作业5.2:下面的例子程序可以正常通过编译,但执行时却得不到正确结果。也就是说,这个程
序有语义错误。为什么呢?
解答:我觉得在“int main()中已经规定了整型,但是sin中却有分数,并且sin 的计算结果也不是整型,会不会是这个问题
------------------------------------任务分割线---------------------------------------
任务六:
我的程序:
运行的结果:
--------------------------------------任务分割线---------------------------------------
作业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"); } }
运行的结果:
--------------------------------------任务分割线---------------------------------------