明明就是对的
查看原帖
明明就是对的
696434
LZH2011楼主2022/8/20 23:34

题目口算题练习 代码

#include<iostream>
#include<string>
#include<cstdio>
using namespace std;
string s;
char fh[3]={'+','-','*'};
int JS(char c,int a,int b)
{
	if(c=='a')
	{
		return a+b;
	}
	else if(c=='b')
	{
		return a-b;
	}
	else
	{
		return a*b;
	}
}
int CD(int a)
{
	int n=0;
	if(a<0)
	{
		n+=1;
		a=-a;
	}
	do
	{
		a/=10;
		n++;
	}
	while(a>0);
	return n;
}
int main()
{
	int n;
	cin>>n;
	char c='a';
	getchar();
	for(int i=1;i<=n;i++)
	{
		int a=0,b=0,k=0;
		getline(cin,s);
		int l=s.size();
		s=s+" ";
		if(s[0]>='a' && s[0]<='c')
		{
			c=s[0];
			k=2;
		}
		while(true)
		{
			if(s[k]!=' ')
			{
				a=a*10+(s[k]-'0');
				k++;
			}
			else
			{
				break;
			}
		}
		k++;
		while(true)
		{
			if(s[k]!=' ')
			{
				b=b*10+(s[k]-'0');
				k++;
			}
			else
			{
				break;
			}
		}
		cout<<a<<fh[c-'a']<<b<<"="<<JS(c,a,b)<<endl<<CD(a)+CD(b)+CD(JS(c,a,b))+2<<endl;
	}
}

我试了好几遍,明明是对的,偏偏是全错,求大佬帮助!

2022/8/20 23:34
加载中...