#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int len(int a)
{
int c = a / 10;
int num = 1;
while(c != 0)
{
c = c / 10;
num ++;
}
return num;
}
void fun(char data1[],char data2[],char symble)
{
int len1 = strlen(data1);
int len2 = strlen(data2);
int sum1 = 0,sum2 = 0;//计算两个字符串代表的数据
for(int j = 0; j < len1; j ++)
{
sum1 = data1[j] - '0' + sum1 * 10;
}
for(int j = 0; j < len2; j ++)
{
sum2 = data2[j] - '0' + sum2 * 10;
}
int sum = 0;
if(symble == 'a')
{
sum = sum1 + sum2;
printf("%s+%s=%d\n",data1,data2,sum);
if(sum < 0)
printf("%d\n",len1 + len2 + 3 + len(sum));
else
printf("%d\n",len1 + len2 + 2 + len(sum));
}
if(symble == 'b')
{
sum = sum1 - sum2;
printf("%s-%s=%d\n",data1,data2,sum);
if(sum >= 0)
printf("%d\n",len1 + len2 + 2 + len(sum));
else
printf("%d\n",len1 + len2 + 3 + len(sum));
}
if(symble == 'c')
{
sum = sum1 * sum2;
printf("%s*%s=%d\n",data1,data2,sum);
if(sum >= 0)
printf("%d\n",len1 + len2 + 2 + len(sum));
else
printf("%d\n",len1 + len2 + 3 + len(sum));
}
}
int main()
{
char data1[1000];
char data2[1000];
char symble;
int n;
scanf("%d",&n);
for(int i = 0; i < n; i ++)
{
scanf("%s",data1);//接受第一个字符串
if(data1[0] == 'a' || data1[0] == 'b' || data1[0] == 'c')//为三数据输入
{
symble = data1[0];
scanf("%s%s",data1,data2);
fun(data1,data2,symble);
}
else
{
scanf("%s",data2);
fun(data1,data2,symble);
}
}
return 0;
}
洛谷p1957
最新推荐文章于 2023-10-10 05:50:39 发布