作者assassinxcx (閒雜人)
看板C_and_CPP
標題[問題] 如何不讀取空白
時間Sat Oct 24 23:15:12 2009
題目是輸入後序式子並算出答案
比如說輸入123*+
輸出就為7
但題目要求的數入格式是 1 2 3 * +
請各位解答
#include<iostream>
#include<stdlib.h>
using namespace std;
int main()
{
char data[100];
int c[50],top=0,i,a,b;
cin>>data;
for(i=0;data[i]!='\0';i++)
{
if(data[i]>47 && data[i]<58)
{
c[top++]=data[i]-48;
}
else
{
b=c[--top];
a=c[--top];
if(data[i]=='+')c[top++]=a+b;
else if(data[i]=='-')c[top++]=a-b;
else if(data[i]=='*')c[top++]=a*b;
else if(data[i]=='/')c[top++]=a/b;
}
}
cout<<c[--top];
system("pause");
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.73.173.145
1F:→ james732:while (??) { cin >> ??; } cin 會自動根據空白切割 10/24 23:28
2F:→ assassinxcx:while(?) 裡的問號是什麼@@? 10/24 23:32
3F:→ james732:你自己決定什麼時候要結束讀取囉 10/25 00:09
4F:推 jimmylin212:scanf 10/25 00:13
5F:→ assassinxcx:scanf("%[^ ]", data); 無法作用... 10/25 00:38
6F:推 sandr1983: 用堆疊的概念.把數字塞入.遇到運算號浮pup出來計算 10/25 01:03