c语言求一个月最高气温

c语言求一个月最高气温,第1张

已知一个月的气温,先把第一天的气温赋值给变量max,然后用max和第二天比较,如果max大于第二天的气温,则max与第三天的气温比较,如果小于第二天的气温,则把第二天的气温赋值给max,然后再把max与第三天的气温比较,以此类推,直到与最后一天比较,然后得到的max就是最高气温。

首先看下2011年到2015年苏州整体的温度表现是什么样的。

plot(suzhou$highestTemp,type="l",col="red",main="苏州2011-2015年气温图",xlab="时间轴",ylab="温度℃")

lines(suzhou$lowestTemp,type="l",col="blue")

legend("topright",c("最高气温","最低气温"),col=c("red","blue"),lty=1)

0818b9ca8b590ca3270a3433284dd417png

红色是最高气温,蓝色是最低气温,年度季节性的特征很明显。每年都是先升再降,7、8月份是温度最高的时间,1、2月是温度最低时间。

因为时间太长,横轴没有具体的对应点。

同样,按月取平均值,再来看整体的表现。

avgTemper

diffTemper

length(avgTemper)

length(diffTemper)

for(i in2011:2014){

for(j in 1:12){

print((i-2011)12+j)

avgTemper[(i-2011)12+j]

diffTemper[(i-2011)12+j]

}

}

avgTemperTS

plotts(avgTemperTS,main="苏州2011-2014年月平均气温图",xlab="时间",ylab="月平均温度℃")

0818b9ca8b590ca3270a3433284dd417png

四年月平均气温有一个很明显的周期性规律,明显能看出来2013年7、8月份气温高于其他三年。

换一种方式,将每年的数据放在同一个时间轴上,可以更明显看出来每年的温度走势都非常接近,并且对比图中,2013年夏季比其他几年都热,查了一下,最高气温能达到41摄氏度,是2013-8-8,当天最高气温41度,最低气温也有31度。

plotts(avgTemperTS[25:36],col="red",main="苏州2011-2014年月平均气温图",xlab="月份",ylab="月平均温度℃")

lines(avgTemperTS[1:12],col="black")

lines(avgTemperTS[13:24],col="blue")

lines(avgTemperTS[37:48],col="green")

legend("topright",c("2011","2012","2013","2014"),col=c("black","blue","red","green"),lty=1)

0818b9ca8b590ca3270a3433284dd417png

whichmax(suzhou[,2])

suzhou[940,]

0818b9ca8b590ca3270a3433284dd417png

那么苏州的温差又有什么特点呢,什么时候是一年中温差最大的时候?同样看四年的整体表现和对比图。

diffTemperTS

plotts(diffTemperTS,main="苏州2011-2014年月最大温差图",xlab="时间",ylab="月最大温差℃")

plotts(diffTemperTS[25:36],col="red",ylim=c(8,23),main="苏州2011-2014年月最大温差图",xlab="月份",ylab="月最大温差℃")

lines(diffTemperTS[1:12],col="black")

lines(diffTemperTS[13:24],col="blue")

lines(diffTemperTS[37:48],col="green")

legend("topright",c("2011","2012","2013","2014"),col=c("black","blue","red","green"),lty=1)

0818b9ca8b590ca3270a3433284dd417png

0818b9ca8b590ca3270a3433284dd417png

上面两个图中,都有一个好大的波峰,没错又是任性的2013年。整体上来看温差比较大的时间是3、4月,正是现在,换季的时节天气很是自在随性。那么那个孤高的波峰是哪一天呢?我们可以看看。

whichmax(suzhou$highestTemp[grep(paste(2013,"-",3,"-",sep=""),suzhou$date)]-suzhou$lowestTemp[grep(paste(2013,"-",3,"-",sep=""),suzhou$date)])

suzhou[grep("2013-3-9",suzhou$date),]

0818b9ca8b590ca3270a3433284dd417png

最后,我想用时间序列来做温度走势的预测。因为R中周期性的时间序列数据需要每期数据项相同,但是这里2011年-2014年每年的数据项都不同(天气篇中开篇讲到了分别是354、366、365、365),所以我把这个时间序列的周期定为360,按顺序取数据的话,2011年因为1月份少了10天,所以2011、2012年会有一些时间和对应的温度错位。考虑到温度是连续型变量,小范围的变动应该不会对整体的时间序列的预测产生很大的影响。

最高温度和最低温度分别定为一个时间序列,并将其在同一个图上显示出来。

highestTS

plotts(highestTS,col="red")

lowestTS

lines(lowestTS,col="blue")

0818b9ca8b590ca3270a3433284dd417png

这是周期性特别明显的数据,所以考虑使用HoltWinters指数平滑方法来做时间序列的分析预测,用这个方法分别对最高温时间序列数据和最低温时间序列数据分别做平滑得到平滑模型然后来做气温的预测。

highestForecasts

highestForecasts

lowestForecasts

lowestForecasts

0818b9ca8b590ca3270a3433284dd417png

0818b9ca8b590ca3270a3433284dd417png

上面模型的平滑参数alpha、beta、gamma,分别是平滑指数、趋势指数、季节指数,参考>

1、首先在“搜索框”中输入文本,加入一个文本,然后将天气链接粘贴到里面;

2、然后加入获取URL内容,如何获取自己所在地的天气url可以参考捷径天气URL获取方法

3、再加入从HTML制作多信息文本;加入从输入获取文本

5、加入拆分文本,选择后面的“新行”,选择自定义,然后输入“天气”;

6、最后加入朗读文本;

我国的气象机构是四级体制,国家-省级-市(地区级)-县级,各级气象机构所属的气象台站一般都对公众发布天气预报,《气象法》第二十五条规定(不要惊讶,虽然气象行业被关注少,但我国有气象法,从2000年1月1日起施行),“媒体向社会传播气象预报和灾害性天气警报,必须使用气象主管机构所属的气象台站提供的适时气象信息,并标明发布时间和气象台站的名称”,同时,《气象预报发布与传播管理办法》第九条规定,《 鼓励媒体和单位传播气象预报。媒体和单位传播气象预报应当使用当地气象主管机构所属的气象台提供的最新气象预报,并注明气象预报发布的气象台名称和发布时间,不得自行更改气象预报的内容和结论》。

正因为气象信息众多,公众缺少辨别的能力,或者压根不会去甄别。还是有必要介绍一下如何从合适的渠道获取准确的气象信息,这里的准确不是指天气预报准确率有多高,而是指信息的来源是官方的、或者说是正版的。

你好!

程序写好了,你看看吧,有问题再问,

##include<stdioh>

main()

{

int a[]={55,62,68,74,59,45,41,58,60,67,65,78,82,88,91,92,90,93,87,80,78,79,72,68,61,59};

int i=0;

int gao=0;

int di=0;

int shu=0;

int sum=0;

for(i=0;i<26;i++)

{

if(a[i]<=85 && a[i]>=60)

shu++;

if(a[i]>85)

gao++;

if(a[i]<60)

di++;

sum = sum + a[i];

}

printf("高温天数:%d\n舒适天数:%d\n低温天数:%d\n平均气温:%lf\n",gao,shu,di,(double)sum/26);

}

#include<stdioh>

int main()

{int n,i,s=0,a[101],b[7]={0};

 scanf("%d",&n);

 for(i=0;i<n;i++)

   {scanf("%d",&a[i]);

    s+=a[i];

    if(a[i]<=50)b[1]++;

     else if(a[i]<=100)b[2]++;

      else if(a[i]<=150)b[3]++;

       else if(a[i]<=200)b[4]++;

        else if(a[i]<=300)b[5]++;

         else b[6]++;

   }

 printf("%2f\n",(float)s/n);

 for(i=1;i<7;i++)

   printf("%d ",b[i]);

 return 0;

}

以上就是关于c语言求一个月最高气温全部的内容,包括:c语言求一个月最高气温、c语言气温波动最大值、获取天气消息的途径或方式等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9778538.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存