怎么使小数点后面的数可以读取

C语言中int整型时会使计算机中小数点后面的值不可取,从而使得计算出来的值发生误差。以下是出现误差使得小数点后面的值不可读取。

#include<stdio.h>
int main()
{
	printf("请输入身高的英尺英寸:");
	int foot;
	int inch;

	scanf_s("%d %d", &foot, &inch);
	printf("身高是%f米。\n",
		(foot + inch / 12) * 0.3048);
	return 0;
}

这就导致inch计算之后被计算机自动舍掉,导致计算时只有foot改变才对结果有影响。

以下是改动:

#include<stdio.h>
int main()
{
	printf("请输入身高的英尺英寸:");
	int foot;
	int inch;

	scanf_s("%d %d", &foot, &inch);
	printf("身高是%f米。\n",
		(foot + inch / 12.0) * 0.3048);
	return 0;
}

把 12 改为 12.0 可以使inch也进入对结果的影响。

#include<stdio.h>
int main()
{
	printf("请输入身高的英尺英寸:");
	float foot;
	float inch;

	scanf_s("%f %f", &foot, &inch);
	printf("身高是%f米。\n",
		(foot + inch / 12) * 0.3048);
	return 0;
}

或者将int改为float,再把输入的%d改为%f。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值