一、
int feet;
float centimeters, inches;
改成
double feet ,centimeters, inches;
然后所有的%d %f改成%lf
或
二、
feet = centimeters / (CPI * IPF);
inches = centimeters / CPI - feet * IPF;
改成:
feet = (int)(centimeters / (CPI * IPF));
inches = (float)(centimeters / CPI - feet * IPF);
其实这是编译器的问题,且是警告,不处理也行
int feet;
float centimeters, inches;
修改为
double feet;
double centimeters, inches;
然后将输出都用 %lf输出
#include
#define CPI 2.54 //centimeters per inches
#define IPF 12 //inches per feet
int main(void)
{
double feet, inches;
float centimeters;
printf("Enter a height in centimeters:");
while (scanf("%f", ¢imeters) == 1 && centimeters > 0)
{
feet = centimeters / (CPI * IPF);
inches = centimeters / CPI - feet * IPF;
printf("%.1f cm = %d feet, %.1f inches\n", centimeters, feet, inches);
printf("Enter a height in centimeters (<=0 to quit):");
}
printf("Bye!");
return 0;
}