作者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