在C语言中,可以使用取余运算符 `%` 来计算两个数的余数。以下是一个简单的C语言计算器程序,它可以执行加、减、乘、除和取余运算:
```c
include
int main() {
double x, y;
char operation;
printf("请输入算术表达式 (格式: a %c b): ");
scanf("%lf%c%lf", &x, &operation, &y);
switch (operation) {
case '+':
printf("结果的值为: %lf\n", x + y);
break;
case '-':
printf("结果的值为: %lf\n", x - y);
break;
case '*':
printf("结果的值为: %lf\n", x * y);
break;
case '/':
if (y != 0) {
printf("结果的值为: %lf\n", x / y);
} else {
printf("除数不能为0。\n");
}
break;
case '%':
if (y != 0) {
printf("结果的值为: %lf\n", fmod(x, y));
} else {
printf("除数不能为0。\n");
}
break;
default:
printf("你输入的表达式有错误。\n");
}
return 0;
}
```
代码解释:
头文件:
`include
变量声明:
`double x, y;` 用于存储两个操作数,`char operation;` 用于存储运算符。
用户输入:
`printf("请输入算术表达式 (格式: a %c b): ");` 提示用户输入表达式,`scanf("%lf%c%lf", &x, &operation, &y);` 读取用户输入的两个操作数和运算符。
switch语句:
根据用户输入的运算符执行相应的操作:
加法:`case '+'`:`printf("结果的值为: %lf\n", x + y);`
减法:`case '-'`:`printf("结果的值为: %lf\n", x - y);`
乘法:`case '*'`:`printf("结果的值为: %lf\n", x * y);`
除法:`case '/'`:`printf("结果的值为: %lf\n", x / y);`(注意:整数除法会截断小数部分)
取余:`case '%'`:`printf("结果的值为: %lf\n", fmod(x, y));`(使用 `fmod` 函数计算浮点数的余数)
错误处理:
如果用户输入的运算符不是预期的字符,或者除数为0,程序会输出错误信息。
这个程序可以处理整数和浮点数的取余运算,并且能够处理用户输入的错误情况。