求指教
查看原帖
求指教
342180
jinniulema楼主2020/5/22 21:37

本机运行没有问题,但是全是WA,求指教。

#include <iostream>
#include <sstream>
#include <stdlib.h>
#include <cstdio>
#include <string>
#include <string.h>
#include <vector>
using namespace std;

int main()
{
    int i,j,n1,n2,l1,l2,ans;
    char mode;
    vector <string> m;
    vector <string>::iterator p;
    char a[100],c;
    string s,t,temp;
    stringstream ss,aa;
    string ::size_type pos1,pos2;
    cin>>i;
    getchar();
    while(i--)
    {
        s=" ";
        while(true)
        {
            c=getchar();
            if(c=='\n')
                break;
            s+=c;
        } 
        pos2=s.rfind(" ")+1;//第二个数字的起始位置
        l2=s.size()-pos1;
        pos1=s.rfind(" ",pos2-2)+1;//第一个数字的起始位置
        l1=pos2-pos1-1;
        ss<<s.substr(pos2,l2);
        temp=s.substr(pos1,s.size()-pos1);
        ss>>n2;
        ss.clear();
        ss<<s.substr(pos1,l1);
        ss>>n1;
        ss.clear();
        switch(s[1])
        {
            case 'a':mode='+';break;
            case 'b':mode='-';ans=n1-n2;break;
            case 'c':mode='*';ans=n1*n2;break;
        }
        switch(mode)
        {
            case '+':ans=n1+n2;break;
            case '-':ans=n1-n2;break;
            case '*':ans=n1*n2;break;
        }
        aa<<ans;
        aa>>t;
        temp+="=";
        temp+=t;
        aa.clear();
        ss<<n1<<mode<<n2<<"="<<ans;
        ss>>temp;
        ss.clear();
        m.push_back(temp);
    }
    for(p=m.begin();p!=m.end();++p)
    {
        cout<<*p<<endl;
        cout<<(*p).size();
        if(p!=m.end()-1)
        cout<<endl;
    }
    return 0;
} 
2020/5/22 21:37
加载中...