C程序,通过键盘输入多个数值,用于程序方程式

时间:2015-09-11 20:19:46

标签: c

这可能是一个简单的解决方法,但我只是把头发拉过来。

我需要输出看起来像这样,但是我无法弄清楚如何在键盘上输入一个值来计算冻结时间和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 &amp; 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">&times;</a>
             </li>
        </ul>
   </div>

我应该能够输入气温和风速的值,例如空气温度为5,风速为15,得到-13.0度风寒和33.3分钟冻伤时间。

1 个答案:

答案 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);

问题在于您使用垃圾值来计算windchillfrostbitetime。要使其有效,请将这些计算放在<{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)));