当结果是整数,输出整数;当结果是小数,输出小数
时间: 2024-11-17 20:29:23 浏览: 1
VHDL任意整数及小数分频器的实现
5星 · 资源好评率100%
在C语言中,如果你想要根据运算的结果类型输出整数还是小数,你可以使用条件语句如`if...else`来判断。这里有一个例子,假设我们已经有了上面提到的基本四则运算代码,稍作修改即可:
```c
#include <stdio.h>
int main() {
int num1, num2;
char operator;
// 用户输入...
switch (operator) {
case '+':
double result = num1 + num2;
if (result == trunc(result)) // 判断结果是否为整数
printf("结果是: %d\n", (int)result); // 如果是整数,直接转换为整数输出
else
printf("结果是: %.1f\n", result); // 否则是小数,保留一位小数输出
break;
// 其他运算符的情况类似
// ...
}
return 0;
}
```
在这个例子中,我们将计算得到的结果存储在`double`类型的`result`变量中,然后使用`trunc()`函数将其截断到最接近的整数。如果`trunc(result)`返回的是原值,说明结果是整数,我们将其转换为整型输出;否则,它是小数,就保留一位小数进行输出。
请注意,`trunc()`是C99引入的数学库函数,如果你使用的是较旧版本的C编译器,可能需要使用`((int)(result + 0.5))`这样的技巧来模拟整数部分。
阅读全文