C语言
输入两个整数m和n,选择运算符op(+,-,*,/),计算并输出表达式“m op n”的值。例如,输入整数4和5,选择运算符+,输出4+5=9.
用if语句和switch语句分别实现
麻烦帮忙写一下,做了1个多小时了,实在写不出了,拜托了 本帖最后由 qiuyouzhi 于 2020-5-4 13:46 编辑
给你一个switch版本的:
# include <stdio.h>
int main()
{
int m, n;
float result;
char op;
int flag = 1;
scanf("%d %c %d", &m, &op, &n);
switch (op)
{
case '+': result = m + n;break;
case '-': result = m - n;break;
case '*': result = m * n;break;
case '/':
{
if (n != 0)
result = m / n;
else
{
printf("除数不能为0!");
flag = 0;
}
}
}
if (flag)
printf("%d %c %d = %.2f", m, op, n, result);
return 0;
}
if语句就是把switch的case转换为if就好了。 本帖最后由 KevinHu 于 2020-5-7 12:54 编辑
switch实现:
#include <stdio.h>
int main(void)
{
int m, n;
char op;
scanf("%d%c%d", &m, &op, &n);
switch (op)
{
case '+':
printf("%d+%d=%d", m, n, m + n);
break;
case '-':
printf("%d-%d=%d", m, n, m - n);
break;
case '*':
printf("%d*%d=%d", m, n, m * n);
break;
case '/':
printf("%d/%d=%.2f", m, n, (float)m / n);
break;
}
}
if实现:
#include <stdio.h>
int main(void)
{
int m, n;
char op;
scanf("%d%c%d", &m, &op, &n);
if (op == '+')
{
printf("%d+%d=%d", m, n, m + n);
}
else if (op == '-')
{
printf("%d-%d=%d", m, n, m - n);
}
else if (op == '*')
{
printf("%d*%d=%d", m, n, m * n);
}
else if (op == '/')
{
printf("%d/%d=%.2f", m, n, (float)m / n);
}
} qiuyouzhi 发表于 2020-5-4 13:39
给你一个switch版本的:
if语句就是把switch的case转换为if就好了。
太感谢了
KevinHu 发表于 2020-5-4 13:40
switch实现:
太感谢了,谢谢 woainilp 发表于 2020-5-4 20:43
太感谢了
那就设个最佳答案吧~
页:
[1]