INPUT 1 + 2-3 + 4 OUTPUT = 4C - 数字と文字(記号)の文字列を直接入力して電卓を作成するにはどうすればよいですか?
INPUT 1 + 2 + 3 + 4 OUTPUT = 10
INPUT -1-2-3-4 OUTPUT = -10
ここは私の試みですが、私は間違った結果に
コード断片を提供します:
for(i=0;i<strlen(res)+1;i++){
if(res[i]=='-'||res[i]=='+'||res[i]=='\0'){
num[z]='\0';
dig=atoi(num);
if(x==0){
sum=dig;
x++;
}
else{
if(res[i]=='+')
sum=sum+dig;
else if(res[i]=='-')
sum=sum-dig;
}
z=0;
}
else{
num[z]=res[i];
z++;
}
return sum;
これは[Shunting-yardアルゴリズム](https://en.m.wikipedia.org/wiki/Shunting-yard_algorithm)の仕事です。 – ForceBru