这可能是一个简单的解决方法,但我只是把头发拉过来。
我需要输出看起来像这样,但是我无法弄清楚如何在键盘上输入一个值来计算冻结时间和windchill。请帮助我是编程新手。
<div id="pluploadContainer" class="uploader">
<a ng-hide="uploadedFiles.length >= 10" id="pluploadDropzone"
plupload="fileUpload.url"
plupload-options="fileUpload.options"
plupload-callbacks="fileUpload.callbacks"
class="dropzone html5Dropzone" style="width: 464px;">
<span ng-hide="uploadedFiles.length >= 10" class="instructions html5Instructions">
Drag & Drop Your Files Here!
</span>
</a>
<div class="m-images">
<ul class="images">
<li ng-repeat="file in uploadedFiles" class="image">
<div class="thumbnail">
{{ file.name }}
</div>
<a ng-click="deleteImage(file)" class="delete">×</a>
</li>
</ul>
</div>
我应该能够输入气温和风速的值,例如空气温度为5,风速为15,得到-13.0度风寒和33.3分钟冻伤时间。
答案 0 :(得分:2)
您必须在>>之后定义计算。。
目前,你有这个:
/* Compute windchill */
windchill = 35.74+(.6215* airtemp)-(35.75*(pow(windspeed, 0.16)))+
(0.4275*airtemp*(pow(windspeed, 0.16)));
/* Compute frostbitetime */
frostbitetime = (((-24.5*(0.667*windspeed*(1.6)))+4.8)+2111.0)*
((pow(-4.8-((airtemp-32.0)*(.5556)), -1.668)));
...
scanf("%d",&airtemp);
scanf("%d",&windspeed);
问题在于您使用垃圾值来计算windchill
和frostbitetime
。要使其有效,请将这些计算放在<{strong> scanf
s。
您遇到的另一个问题是您在scanf上使用的格式类型。从手册:
升
表示转换将是d,i,o之一, u,x,X或n,下一个指针是指向long int的指针 或unsigned long int(而不是int),或转换 将是e,f或g之一,下一个指针是指针 加倍(而非浮动)。指定两个l字符是 相当于L.如果与%c或%s一起使用,则相应 参数被视为指向宽字符的指针 分别是宽字符串。
因此,您需要将%d
更改为%lf
。你的代码看起来像:
...
scanf("%lf",&airtemp);
scanf("%lf",&windspeed);
/* Compute windchill */
windchill = 35.74+(.6215* airtemp)-(35.75*(pow(windspeed, 0.16)))+
(0.4275*airtemp*(pow(windspeed, 0.16)));
/* Compute frostbitetime */
frostbitetime = (((-24.5*(0.667*windspeed*(1.6)))+4.8)+2111.0)*
((pow(-4.8-((airtemp-32.0)*(.5556)), -1.668)));