山东理工大学c语言实验

山东理工大学c语言实验

ID:6301598

大小:70.50 KB

页数:13页

时间:2018-01-09

山东理工大学c语言实验_第1页
山东理工大学c语言实验_第2页
山东理工大学c语言实验_第3页
山东理工大学c语言实验_第4页
山东理工大学c语言实验_第5页
资源描述:

《山东理工大学c语言实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、山东理工大学C语言实验【实验一】1.已知地球的平均半径为6371千米,假设在地球的同一纬度上,有两个处于不同经度的城市A、B,编程序求出这两个城市之间的地面距离。输入数据样例:例如,欲求北纬30度上东经10度到东经50度的距离,输入格式应为:301050#include#include#definePI3.1415926//定义常量main(){floata,b,c,s,m;scanf("%f%f%f",&a,&b,&c);//输入纬度和两个经度,规定东经为正,西经为负m=fabs(b-c);if(m<180)//经度差小于180s=2*6371*

2、asin(cos(PI/180*a)*sin(PI/360*m));//推出数学计算公式转换为c语言elses=2*6371*asin(cos(PI/180*a)*sin(PI/360*(360-m)));printf("距离为%f",s);}2.地球的平均半径为6371千米,已知地球上两个城市A、B的经度和纬度,编程序求出这两个城市之间的地面距离。#include#include#definePI3.1415926//定义常量main(){floata1,a2,b1,b2,m,s;scanf("%f%f%f%f",&a1,&a2,&b1,&b

3、2);//输入纬度和两个经度,规定东经为正,西经为负m=fabs(a1-b1);if(m<180)//经度差小于180s=6371*2*asin(sqrt(0.5*(1-sin(PI/180*a2)*sin(PI/180*b2)-cos(PI/180*a2)*cos(PI/180*b2)*cos(PI/180*m))));//推出数学计算公式转换为c语言else//经度差大于180s=6371*2*asin(sqrt(0.5*(1-sin(PI/180*a2)*sin(PI/180*b2)-cos(PI/180*a2)*cos(PI/180*b2)*cos(PI/180*(360-

4、m)))));//推出数学计算公式转换为c语言printf("%f",s);//输出结果}【实验二】1.编程序实现:输入任意一个日期的年、月、日的值,求出从公元1年1月1日到这一天总共有多少天,并求出这一天是星期几。#include13山东理工大学C语言实验main(){inty,n,m,w,p,s,u;printf("请输入一个年份:");scanf("%d",&y);n=y%400*97;u=y-y%400*400;m=u/4-u/100;p=m+n;s=366*p+365*(y-p-1);w=s%7;switch(w){case1:w=1;break

5、;case2:w=2;break;case3:w=3;break;case4:w=4;break;case5:w=5;break;case6:w=6;break;case0:w=7;break;}printf("总天数=%d,该年的1月1日为星期%d",s,w);}2.输入任意一个日期的年、月、日的值,求出从公元1年1月1日到这一天总共有多少天,并求出这一天是星期几。 #includevoidmain(){inty,m,d,c,s,w;printf("请输入8位年月日,以空格隔开:");scanf("%d%d%d",&y,&m,&d);if(m==1)c=

6、d;elseif(m==2)c=31+d;elseif(m==3)c=31+28+d;elseif(m==4)c=31+28+31+d;elseif(m==5)c=31+28+31+30+d;elseif(m==6)c=31+28+31+30+31+d;elseif(m==7)c=31+28+31+30+31+30+d;elseif(m==8)c=31+28+31+30+31+30+31+d;elseif(m==9)c=31+28+31+30+31+30+31+31+d;elseif(m==10)c=31+28+31+30+31+30+31+31+30+d;elseif(m==11

7、)c=31+28+31+30+31+30+31+31+30+31+d;elseif(m==12)c=31+28+31+30+31+30+31+31+30+31+30+d;if(m>2)13山东理工大学C语言实验{if(y%100==0){if(y%400==0)c=c+1;}elseif(y%4==0)c=c+1;}s=(y-1)*365+(y-1)/4-(y-1)/100+(y-1)/400+c;w=s%7;switch(w){case0:printf("星期日")

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。