社区讨论

啊,80分~~~~~~~~~~~~~~

P1957口算练习题参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@mi6nxzgr
此快照首次捕获于
2025/11/20 07:58
4 个月前
此快照最后确认于
2025/11/20 07:58
4 个月前
查看原帖
CPP
#include<iostream>
#include<cmath>
using namespace std;
string int2str(int n)
{
	int t=n;
	n=abs(n);
	string ans="";
	int n1=n,sz[10000]={0},j=0;
	while(n1)
	{
		sz[j]=n1%10;
		n1/=10;
		j++;
	}
	for(int i=0;i<j;i++)
		ans=char(sz[i]+48)+ans;
	if(t<0)
		ans="-"+ans;
	return ans;
}
int str2int(string a)
{
	int ans=0;
	for(int i=0;i<a.size();i++)
		ans=ans*10+(a[i]-48);
	return ans;
}
struct e{
	char lx;
	int s1,s2;
}a[100];
int main()
{
	int n;
	cin>>n;
	for(int i=0;i<n;i++)
	{
		bool flag=true;
		string t;
		cin>>t;
		if(t=="a")
			a[i].lx='+';
		else if(t=="b")
			a[i].lx='-';
		else if(t=="c")
			a[i].lx='*';
		else
		{
			a[i].lx=a[i-1].lx;
			a[i].s1=str2int(t);
			cin>>a[i].s2;
			flag=false;
		}
		if(flag)
			cin>>a[i].s1>>a[i].s2;
	}
	for(int i=0;i<n;i++)
	{
		string s="";
		char t=a[i].lx;
		int ans,a1=a[i].s1,b1=a[i].s2;
		if(t=='+')
			ans=a1+b1;
		else if(t=='-')
			ans=a1-b1;
		else if(t=='*')
			ans=a1*b1;
		s+=int2str(a1)+t+int2str(b1)+"="+int2str(ans);
		cout<<s<<endl<<s.size()<<endl;
	}
	return 0;
}

回复

1 条回复,欢迎继续交流。

正在加载回复...