求助
  • 板块学术版
  • 楼主vegetablechi
  • 当前回复0
  • 已保存回复0
  • 发布时间2021/11/20 20:08
  • 上次更新2023/11/3 23:56:20
查看原帖
求助
426824
vegetablechi楼主2021/11/20 20:08
#include<iostream>
#include<cstring>
using namespace std;
int len(int a){
	int cnt=0;
	if(a==0)return 1;
	if(a<0){
		a=-a;
		cnt++;
	}
	while(a>0){
		cnt++;
		a/=10;
	}
	return cnt;
}
int main(){
	int n,flag;
	cin>>n;
	for(int i=1;i<=n;i++){
		char tmp[6],a[6],b[6],s;
		int ic,ia=0,ib=0;
		cin>>tmp;
		if(tmp[0]>='a'&&tmp[0]<='c'){
			flag=tmp[0]-'a';
			cin>>a>>b;
		}else{
			for(int j=0;j<strlen(tmp);j++){
				a[j]=tmp[j];
			}
			cin>>b;
		}
		for(int j=0;j<strlen(a);j++){
		    ia=int(a[j]-'0')+ia*10;
	    }
	    for(int j=0;j<strlen(b);j++){
		    ib=int(b[j]-'0')+ib*10;
	    }
		if(flag==0){
			ic=ia+ib;
			s='+';
		}
		if(flag==1){
			ic=ia-ib;
			s='-';
		}
		if(flag==2){
			ic=ia*ib;
			s='*';
		}
		cout<<ia<<s<<ib<<"="<<ic<<endl;
		cout<<len(ia)+len(ib)+len(ic)+2<<endl;
	}
	return 0;
} 

这段代码总是会输出奇怪数字,向各位大佬请教

2021/11/20 20:08
加载中...