易百教程

控制台浮点数输入

使用scanf_s()格式化读取浮点值时,可以以各种形式输入值。

示例代码

#define __STDC_WANT_LIB_EXT1__ 1
#include <stdio.h>

int main(void)
{
    float fp1 = 0.0f;
    float fp2 = 0.0f;
    float fp3 = 0.0f;
    int value_count = 0;
    printf("请输入: 3.14.314E1.0314e+02\n");

    printf("输入:\n");
    value_count = scanf_s("%f %f %f", &fp1, &fp2, &fp3);

    printf("\n输出:\n");
    printf("输入的数字值是:%d\n", value_count);
    printf("fp1 = %f  fp2 = %f  fp3 = %f\n", fp1, fp2, fp3);
    system("pause");
    return 0;
}

执行上面示例代码,得到以下结果:

请输入: 3.14.314E1.0314e+02
输入:
1
2
2

输出:
输入的数字值是:3
fp1 = 1.000000  fp2 = 2.000000  fp3 = 2.000000

此示例演示了输入相同值的三种不同方法。

  • 第一个是直接的十进制值,
  • 第二个具有由E1定义的指数值,表示该值将乘以10
  • 第三个的指数值为e + 02,因此尾数乘以100