Bootstrap

%f 、%g、%e在C语言中的探究 和 肥胖问题C语言

目录

一.简述

二.举例

三.P5714 【深基3.例7】肥胖问题

 

 

 

 

 


#include<stdio.h>
int main(void)
{
	double a;
	
	while( scanf("%lf",&a) != EOF )
	{
		printf("%f\n",a);
		printf("%g\n",a);
		printf("%e\n",a);
		printf("\n\n");
	}
	
	return 0;
	
}

一.简述

1.%f 表示:十进制浮点数

2.%g 表示:默认为保留六位有效数字输出,如果小数部分存在后缀 00,不要输出后缀 00。

3.%e 表示:以指数形式输出实数。如:1.234568e+009 表示 1234567890(e+009表示10的9次方)。

 

二.举例
 

输入%f%g%e
0.000.00000000.000000e+000
24.1245624.12456024.12462.412456e+001
12345678.1234567812345678.1234571.23457e+0071.234568e+007
0.12345670.1234570.1234571.234567e-001
12300000.2354612300000.2354601.23e+0071.230000e+007

观察得到,

%f、%g、%e都会在精度的下一位四舍五入;

%g 会自动选择合适的表示法输出(%f或%e),但其的精度一直是6位有效数字,除非这6位有效数字的末尾有0,它会省略0;

三.P5714 【深基3.例7】肥胖问题

题目描述

BMI 指数是国际上常用的衡量人体胖瘦程度的一个标准,其算法是 m/h^2(40\le m \le 120, 1.4 \le h \le 2.0)m/h2(40≤m≤120,1.4≤h≤2.0),其中 mm 是指体重(千克),hh 是指身高(米)。不同体型范围与判定结果如下:

  • 小于 18.5:体重过轻,输出 Underweight
  • 大于等于 18.5 且小于 24:正常体重,输出 Normal
  • 大于等于 24:肥胖,不仅要输出 BMI 值(使用 cout 的默认精度),然后换行,还要输出 Overweight

现在给出体重和身高数据,需要根据 BMI 指数判断体型状态并输出对应的判断。

对于非 C++ 语言,在输出时,请四舍五入保留六位有效数字输出,如果小数部分存在后缀 00,不要输出后缀 00。

请注意,保留六位有效数字不是保留六位小数。例如 114.5149114.5149 应该输出为 114.515114.515,9198.109198.10 应该输出为 9198.19198.1。

输入格式

共一行。

第一行,共 22 个整数,m,nm,n,分别表示体重(单位为 kgkg),身高(单位为 mm)。

输出格式

输入输出样例

输入 #1

70 1.72

输出 #1

Normal

说明/提示

m 和 h 均不超过 3 位小数

#include<stdio.h>
int main(void)
{
	double x,m,h;
	double t;
	
	scanf("%lf %lf",&m,&h);
	x = m / (h * h);
	
	if( x < 18.5 )
	{
		printf("Underweight");
	}
	else if( x >= 18.5 && x < 24)
	{
		printf("Normal");
	}
	else
	{
		
		printf("%g\n",x);
		printf("Overweight");
	}
	
	
	return 0;
}

 

 

             

 

 

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;