|
|
练习 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
|
|