赞
踩
题目如下:
这道题目卡了我两个多小时,其中发现一些问题。
先上正确代码:
#include<stdio.h>
int main()
{
int a;
int inch, foot;//定义整型而不是浮点数
scanf("%d", &a);//输入多高,单位是cm
inch = (a / 100.0 / 0.3048);
foot = (a / 100.0 / 0.3048 - inch) * 12;
printf("%d %d",inch, foot);//输出
return 0;
}
再上一波我一开始错误的代码:
#include<stdio.h>
int main()
{
int a;
int inch, foot;
scanf("%d", &a);
double x;
x = a / 100.0 / 0.3048;
inch = x * 12.0 / 13;
foot = x * 12 - inch * 12;
printf("%d %d",inch, foot);
return 0;
}
错误的地方在:
一开始浮点数转整型直接舍去,导致后面的计算出现问题,所以改良之后把它放在一条语句里面,出现数据丢失的情况会减少,使得答案更加准确。
最后附上我同学的代码,也是一种初学者可学 的方法:
#include <stdio.h>
int main()
{
double m,t,x; int foot, inch;
scanf("%lf",&m);
x = m / 100.0;
t = x / 0.3048;
foot = t;
inch = (t - foot) * 12;
printf("%d %d", foot, inch);
return 0;
}
就是这样,第一题“轻松”的解决了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。