c语言scanf输入一个分数
时间: 2024-09-15 12:14:50 浏览: 47
在C语言中,如果你想通过`scanf()`函数输入一个分数,通常会将分数表示为整数部分和小数部分两个数值。可以使用两个变量分别存储这两个值。这里是一个简单的示例:
```c
#include <stdio.h>
int main() {
float numerator, denominator;
printf("请输入分子(分母为1):");
scanf("%d", &numerator); // 输入整数部分
printf("请输入分母(默认为1):");
int denominator_input; // 如果需要分母不是1,再读取一次
if (scanf("%d", &denominator_input) == 1) { // 如果只读取到一个数字,则假设为分母
denominator = denominator_input;
} else { // 如果读取失败或者用户输入非数字,处理错误
printf("无效的分母,已设置为1.\n");
denominator = 1;
}
// 检查分母是否为0,防止除零错误
if (denominator == 0) {
printf("分母不能为0。\n");
} else {
float score = (float)numerator / denominator;
printf("分数是:%.2f\n", score); // 输出格式化为保留两位小数
}
return 0;
}
```
在这个例子中,程序首先提示用户输入分子,然后尝试读取一个整数。如果接着读取的是分母,它会被识别并存储;如果不是,就假设输入的是1。最后,程序计算并打印出分数。