C++ switch⼀case 问题:本人想做一个计算器,DEV老说我有问题,各位好心人帮帮忙!

2025-01-01 16:31:27
推荐回答(3个)
回答1:

switch中的变量是一个char类型,所以每一个case 分支应该都是一个单字符,不能用双引号,更不能用汉字!
此外循环的逻辑也存在问题,只有第一次输入是正确的,后面的输入都会被认为是出错,所以需要重新检查下循环和switch中的分支。

回答2:

#include
void main ()
{
int i=0,c,sum,a[1000];
char b[1000];
while(1)
{
scanf("%d%c",&a[i],&b[i]);
i++;
if(b[i-1]=='=')
{
c=i-1;
break;
}
}
sum = a[0];
for(i=0;i{
printf("%d%c",a[i],b[i]);
switch (b[i])
{
case '+':
sum+=a[i+1];
break;
case '-':
sum-=a[i+1];
break;
case '*':
sum*=a[i+1];
break;
case '/':
sum/=a[i+1];
break;
deafult :
break;
}
} printf("%d%c",a[c],b[c]);
printf("%d",sum);
}
这是用c写的一段计算器代码,你可以看一下

回答3:

case "平方":

case "求余":

case "结束":

case "根号":

与 a 没有办毛钱关系呀