用goto会被打吗
  • 板块灌水区
  • 楼主Doubleen
  • 当前回复23
  • 已保存回复23
  • 发布时间2023/8/23 18:13
  • 上次更新2023/11/3 01:42:09
查看原帖
用goto会被打吗
56432
Doubleen楼主2023/8/23 18:13
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
string s;
int cnt(int x){
	int tot=0;
	if(x<=0) x=-x,tot++;
	while(x>0){
		x/=10;
		tot++;
	}
	return tot;
}
int main()
{
	int t,now=0;
	cin>>t;
	while(t--){
		cin>>s; int a=0,b=0;
		switch(s[0]){
			case 'a':
				cin>>a>>b; now=1; loopa:
				printf("%d+%d=%d\n%d\n",a,b,a+b,cnt(a)+cnt(b)+cnt(a+b)+2);
				break;
			case 'b':
				cin>>a>>b; now=2; loopb:
				printf("%d-%d=%d\n%d\n",a,b,a-b,cnt(a)+cnt(b)+cnt(a-b)+2);
				break;
			case 'c':
				cin>>a>>b; now=3; loopc:
				printf("%d*%d=%d\n%d\n",a,b,a*b,cnt(a)+cnt(b)+cnt(a*b)+2);
				break;
			default:
				for(int i=0;i<s.length();i++){
					a*=10;
					a+=s[i]-'0';
				}
				cin>>b;
				switch(now){
					case 1: goto loopa;
					case 2: goto loopb;
					case 3: goto loopc;
				}
		}
	}
	return 0;
}
2023/8/23 18:13
加载中...