Loading

洛谷 P1957 口算练习题 题解

题目传送门

这道题是考字符串处理,另外输入要使用c++的cin的神奇功能。

#include<bits/stdc++.h>
using namespace std;
int n;char ch;int a,b;char k;
string INTtoSTRING(int x){
    ostringstream oss;
    oss<<x;
    return oss.str();  
}
int main(){
    scanf("%d",&n);getchar();
    while(n--){
        char q[300];
        if(!(cin>>a)){
            cin.clear();
            cin>>ch>>a;
        }
        cin>>b;
            if(ch=='a'){
                printf("%d+%d=%d\n",a,b,a+b);
                string str_a=INTtoSTRING(a);
                string str_b=INTtoSTRING(b);
                string str_c=INTtoSTRING(a+b);
                string str=str_a+'+'+str_b+'='+str_c;
                printf("%d\n",str.length());
            }
            if(ch=='b'){
                printf("%d-%d=%d\n",a,b,a-b);
                string str_a=INTtoSTRING(a);
                string str_b=INTtoSTRING(b);
                string str_c=INTtoSTRING(a-b);
                string str=str_a+'+'+str_b+'='+str_c;
                printf("%d\n",str.length());
            }
            if(ch=='c'){
                printf("%d*%d=%d\n",a,b,a*b);
                string str_a=INTtoSTRING(a);
                string str_b=INTtoSTRING(b);
                string str_c=INTtoSTRING(a*b);
                string str=str_a+'+'+str_b+'='+str_c;
                printf("%d\n",str.length());
            }
    }
    return 0;
}

 

posted @ 2018-05-04 22:08  yzx_1798106406  阅读(290)  评论(0编辑  收藏  举报