答案都对 但是都wa
查看原帖
答案都对 但是都wa
610804
as13249320351楼主2021/12/12 21:05
#include <stdio.h>
#include <math.h>
struct shuju
{
	char a;
	int b;
	int c;
};
int main()
{
	shuju x[1000];
	int n,i,k=0,q,g=0;
	int sum[100],r=0,t[100];
	int y[100];
	scanf("%d",&n);
	getchar();
	for(i=0;i<n;i++)
	{
		scanf("%c%d%d",&x[i].a,&x[i].b,&x[i].c);
		getchar(); 
	}
	for(i=0;i<n;i++)
	{
		g=0;
		k=0;
		if(x[i].a=='a')
		{
			q=x[i].b;
			while(q!=0)
			{
				k++;
				q/=10;
			}
			q=x[i].c;
			while(q!=0)
			{
				k++;
				q/=10;
			}
			sum[i]=x[i].b+x[i].c;
			q=sum[i];
			while(q!=0)
			{
				k++;
				q/=10;
			}
			y[i]=k+2;
			t[i]=1;
		}
		if(x[i].a=='b')
		{
			q=x[i].b;
			while(q!=0)
			{
				k++;
				q/=10;
			}
			q=x[i].c;
			while(q!=0)
			{
				k++;
				q/=10;
			}
			sum[i]=x[i].b-x[i].c;
			if(sum[i]<0)
			{
				k++;
			}
			q=sum[i];
			while(q!=0)
			{
			    k++;
				q/=10;
			}
			y[i]=k+2;
			t[i]=2;
		}
		if(x[i].a=='c')
		{
			q=x[i].b;
			while(q!=0)
			{
				k++;
				q/=10;
			}
			q=x[i].c;
			while(q!=0)
			{
				k++;
				q/=10;
			}
			sum[i]=x[i].b*x[i].c;
			q=sum[i];
			while(q!=0)
			{
				k++;
				q/=10;
			}
			y[i]=k+2;
			t[i]=3;
		}
		if(x[i].a<='9'&&x[i].a>'0')
		{	
		    q=x[i].b;
			while(q!=0)
			{
				k++;
				g++;
				q/=10;
			}
			q=x[i].c;
			while(q!=0)
			{
				k++;
				q/=10;
			}
			x[i].b=(x[i].a-'0')*pow(10,g)+x[i].b;
			sum[i]=x[i].b+x[i].c;
			q=sum[i];
			while(q!=0)
			{
				k++;
				q/=10;
			}
			y[i]=k+3;
			t[i]=1;
		}
	}
	for(i=0;i<n;i++)
	{
		if(t[i]==1)
		{
		    printf("%d+%d=%d\n%d\n",x[i].b,x[i].c,sum[i],y[i]);
		}
		if(t[i]==2)
		{
	    	printf("%d-%d=%d\n%d\n",x[i].b,x[i].c,sum[i],y[i]);
		}
		if(t[i]==3)
		{
			printf("%d*%d=%d\n%d\n",x[i].b,x[i].c,sum[i],y[i]);
		}
	}
	return 0;
}
2021/12/12 21:05
加载中...