找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 62|回复: 0

C语言浮点数练习

[复制链接]

37

主题

21

回帖

241

积分

中级会员

积分
241
发表于 2026-4-7 12:07:19 | 显示全部楼层 |阅读模式
练习 1:定义并输出浮点数
题目:定义一个double类型变量,赋值为3.14159,输出保留 2 位小数。
#include <stdio.h>
int main() {
    // 定义double类型浮点数
    double pi = 3.14159;

    // %.2f 表示保留2位小数
    printf("圆周率 = %.2f\n", pi);

    return 0;
}
输出:plaintext圆周率 = 3.14
练习 2:浮点数输入与四则运算
题目:输入两个浮点数,计算并输出它们的和、差、积、商。

#include <stdio.h>
int main() {
    double a, b;

    printf("请输入第一个浮点数:");
    // double 输入用 %lf
    scanf("%lf", &a);

    printf("请输入第二个浮点数:");
    scanf("%lf", &b);

    // 计算
    double add = a + b;
    double sub = a - b;
    double mul = a * b;
    double div = a / b;
    // 输出,保留3位小数更美观
    printf("和 = %.3f\n", add);
    printf("差 = %.3f\n", sub);
    printf("积 = %.3f\n", mul);
    printf("商 = %.3f\n", div);

    return 0;
}
运行示例:plaintext请输入第一个浮点数:5.5
请输入第二个浮点数:2
和 = 7.500
差 = 3.500
积 = 11.000
商 = 2.750

练习 3:计算圆的面积
题目:输入圆的半径,输出圆的面积(公式:S=πr2)。

#include <stdio.h>
#define PI 3.1415926  // 定义常量π
int main() {
    double r, area;

    printf("请输入圆的半径:");
    scanf("%lf", &r);

    // 面积公式
    area = PI * r * r;

    printf("圆的面积 = %.2f\n", area);
    return 0;
}
运行示例:plaintext请输入圆的半径:3
圆的面积 = 28.27

练习 4:浮点数精度问题
题目:观察0.1 + 0.2的结果,理解浮点数精度误差。
#include <stdio.h>
int main() {
    double a = 0.1;
    double b = 0.2;

    // 理论是0.3,实际输出会有微小误差
    printf("0.1 + 0.2 = %.20f\n", a + b);

    return 0;
}
输出:plaintext0.1 + 0.2 = 0.30000000000000004441
知识点:二进制无法精确表示部分十进制小数,会产生微小误差,这是正常现象。

练习 5:使用数学函数(开方、绝对值)
题目:输入一个浮点数,输出它的平方根和绝对值。
需要加头文件:#include <math.h>

#include <stdio.h>
#include <math.h>  // 数学函数库
int main() {
    double x;
    printf("请输入一个浮点数:");
    scanf("%lf", &x);

    // 平方根函数 sqrt()
    double sq = sqrt(x);
    // 绝对值函数 fabs()
    double ab = fabs(x);

    printf("平方根 = %.3f\n", sq);
    printf("绝对值 = %.3f\n", ab);

    return 0;
}
运行示例:plaintext请输入一个浮点数:-9
平方根 = 3.000
绝对值 = 9.000

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|小黑屋|郎哥嵌入式编程社区 ( 鲁ICP备15001146号-5 )

GMT+8, 2026-4-28 03:36 , Processed in 0.013197 second(s), 19 queries .

快速回复 返回顶部 返回列表