c语言中三分之二如何保留两位小数而且四舍五入
时间: 2023-11-15 21:04:57 浏览: 63
在C语言中,保留小数位数可以使用printf函数的格式化输出控制符%.nf,其中n表示要保留的小数位数。而四舍五入则可以通过将要保留的小数位数提取到个位上,然后加上0.5再强制类型转换为整型,最后再除以10来实现。具体实现方法如下:
double num = 2.0 / 3.0; // 三分之二
int temp = (int)(num * 100 + 0.5); // 将第三位小数提取到个位上并四舍五入
double result = (double)temp / 100; // 转换回两位小数
printf("%.2f", result); // 输出结果
相关问题
C语言编写一个程序:在一行中输入3个浮点型数据,空格隔开。输出平均分,保留2位小数
可以回答这个问题。以下是C语言的代码:
#include <stdio.h>
int main() {
float a, b, c;
scanf("%f %f %f", &a, &b, &c);
float avg = (a + b + c) / 3;
printf("%.2f", avg);
return 0;
}
这个程序可以让用户输入三个浮点型数据,然后计算它们的平均值,并输出结果,保留两位小数。
使用c语言统计平均分,低于平均分的人数和成绩且条件为:如果输入即为负数那么输出结果为null代表一个学生也没有,如果输入的成绩多于二十个,那么仅计算前二十个学生的成绩输出结果顺序:第一行输出平均分(保留两位小数)第二行输出低于平均分的分数(保留两位小数,域宽7)第三行输出低于平均分的人数(负数也算进低于平均分的人数中)
好的,我可以解答这个问题。以下是代码示例:
```c
#include <stdio.h>
#define MAX_NUM 20 // 最大学生数
int main() {
int i, n = 0;
float sum = 0, avg, scores[MAX_NUM];
printf("请输入学生成绩(以负数结束):\n");
for (i = 0; i < MAX_NUM; i++) {
scanf("%f", &scores[i]);
if (scores[i] < 0) break;
sum += scores[i];
n++;
}
if (n == 0) {
printf("null\n");
return 0;
}
avg = sum / n;
printf("平均分:%.2f\n", avg);
printf("低于平均分的分数:");
for (i = 0; i < n; i++) {
if (scores[i] < avg) {
printf("%7.2f", scores[i]);
}
}
printf("\n低于平均分的人数:");
int count = 0;
for (i = 0; i < n; i++) {
if (scores[i] < avg) {
count++;
}
}
printf("%d\n", count);
return 0;
}
```
代码解释如下:
1. 首先定义了一个 `MAX_NUM` 常量表示最大学生数,然后定义了一个 `scores` 数组用于存储学生成绩,一个 `sum` 变量用于记录所有成绩之和,一个 `n` 变量用于记录输入的学生数。
2. 在主函数中,先输出提示信息,然后用循环读入学生成绩,如果输入的成绩为负数,则跳出循环,否则将成绩加入 `sum` 中,并将 `n` 加 1。
3. 如果 `n` 的值为 0,则说明一个学生也没有,直接输出 `null` 并结束程序。
4. 否则,计算平均分 `avg` 并输出。
5. 用循环遍历 `scores` 数组,如果某个成绩低于平均分,则输出该成绩。
6. 再用循环遍历 `scores` 数组,如果某个成绩低于平均分,则将计数器 `count` 加 1。
7. 最后输出 `count`。
注意,这个程序计算平均分时使用的是浮点数类型,因为可能会出现小数。另外,输出低于平均分的分数时使用了域宽为 7,这样可以让输出更加整齐。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)