2018-03-21

如果已知英制長度的英尺foot和英寸inch的值,那么對應(yīng)的米是(foot+inch/12)×0.3048。現(xiàn)在,如果用戶輸入的是厘米數(shù),那么對應(yīng)英制長度的英尺和英寸是多少呢?別忘了1英尺等于12英寸。
輸入格式:
輸入在一行中給出1個正整數(shù),單位是厘米。
輸出格式:
在一行中輸出這個厘米數(shù)對應(yīng)英制長度的英尺和英寸的整數(shù)值,中間用空格分開

#include <stdio.h>
int main(){
 int cmlen;
 scanf("%d",&cmlen);
 int foot;
 foot= cmlen/100.0/0.3048;
 int inch;
 inch = (cmlen/100.0/0.3048-foot)*12;
 printf("%d %d\n",foot,inch);
return 0;}

捕獲.PNG

正確

#include <stdlib.h>
int main(int argc, char *argv[]) {
    int foot;
    int inch;
    int m;
    int cm;
    scanf("%d",&cm);
    m=cm/100.0;
    foot=m/(0.3048);
    inch=(cm/100.0/0.3048-foot)*12;
    printf("%d ",foot);
    printf("%d\n",inch);
    return 0;
}
捕獲.PNG

錯誤原因:
int inch;int cmlen;
inch = (cmlen/100.0/0.3048-foot)*12;
在計算過程中都是按浮點數(shù)操作的,由于int定義為int型,所以inch只保留了結(jié)果的整數(shù)部分。
而在自己的程序中,將m定義為int型,cm/100,只保留整數(shù)部分,造成在以后的計算中只用了整數(shù)部分,使誤差大大增大到不可用的地步。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容