求助,输出很奇怪
查看原帖
求助,输出很奇怪
632063
shipeiqian楼主2022/8/17 14:45
#include <bits/stdc++.h>
using namespace std;
string c;
char op;
int n,ans=0,a,b;
int len(int n){
	int cnt;
	if(n==0)return 1;
	if(n>0){
		cnt=0;
		while(n){
			n/=10;
			cnt++;
		}
		return cnt;
	}
	else{
		cnt=1;
		n=-n;
		while(n){
			n/=10;
			cnt++;
		}
		return cnt;
	}
}
int main(){
	cin >>n;
	while(n--){
		ans=0;
		cin >>c;
		if(c[0]=='a'){
			cin >>a >>b;	
			cout <<a <<"+" <<b <<"=" <<a+b <<"\n";
			ans=len(a+b)+2;
			op=c[0];
		}
		else if(c[0]='b'){
			cin >>a >>b;	
			cout <<a <<"-" <<b <<"=" <<a-b <<"\n";
			ans=len(a-b)+2;
			op=c[0];
		}
		else if(c[0]='c'){
			cin >>a >>b;	
			cout <<a <<"*" <<b <<"=" <<a*b <<"\n";
			ans=len(a*b)+2;
			op=c[0];
		}
		else{
			cin >>b;
			a=0;
			for(int i=0;i<c.size();i++)a=a*10+c[i]-'0';
			if(op=='a'){
				cout <<a <<"+" <<b <<"=" <<a+b <<"\n";
				ans=len(a+b)+2;
			}
			else if(op=='b'){
				cout <<a <<"-" <<b <<"=" <<a-b <<"\n";
				ans=len(a-b)+2;
			}
			else if(op=='c'){
				cout <<a <<"*" <<b <<"=" <<a*b <<"\n";
				ans=len(a*b)+2;
			}
		}
		ans=ans+len(a)+len(b);
		cout <<ans <<"\n";
	}
    return 0;
}
2022/8/17 14:45
加载中...