请大家帮忙看看,这题自测数据全过的,然而提交全是RE,看了其它的讨论感觉还是不会
查看原帖
请大家帮忙看看,这题自测数据全过的,然而提交全是RE,看了其它的讨论感觉还是不会
366401
木鸟楼主2020/10/19 22:47
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include <stdlib.h>

#define MAXA 50

char str[MAXA], s1[MAXA], s2[MAXA], s[MAXA];

int main(void)
{
	char c;
	int n, a1, a2;
	
	scanf("%d", &n);
	
	getchar();
	//getchar();
	
	for(int i = 1; i <= n; i++)
	{	
		memset(str, '\0', sizeof(str));
		memset(s1, '\0', sizeof(s1));
		memset(s2, '\0', sizeof(s2));
		memset(s, '\0', sizeof(s));
		
		gets(str);
		//getchar();
		
		if(isalpha(str[0]) != 0)
		{
			int j, k;
				
			c = str[0];
				
			for(j = 2; ; j++)
			{
				if(str[j] == ' ')
					break;
				s1[j - 2] = str[j];
			}
				
			for(k = j + 1; k < strlen(str); k++)
				s2[k - j - 1] = str[k];
		}
			
		else
		{
			int j, k;
				
			for(j = 0; ; j++)
			{
				if(str[j] == ' ')
					break;
				s1[j] = str[j];
			}
				
			for(k = j + 1; k < strlen(str); k++)
				s2[k - j - 1] = str[k];
		}
		
		//puts(s1);
		//puts(s2);
		
		a1 = atoi(s1);
		a2 = atoi(s2);	
		
		if(c == 'a')
		{
			printf("%d+%d=%d\n", a1, a2, a1 + a2);
			sprintf(s, "%d", a1 + a2);
			printf("%d\n", strlen(s1) + strlen(s2) + strlen(s) + 2);
		}
		else if(c == 'b')
		{
			printf("%d-%d=%d\n", a1, a2, a1 - a2);
			sprintf(s, "%d", a1 - a2);
			printf("%d\n", strlen(s1) + strlen(s2) + strlen(s) + 2);
		}
		else if(c == 'c')
		{
			printf("%d*%d=%d\n", a1, a2, a1 * a2);
			sprintf(s, "%d", a1 * a2);
			printf("%d\n", strlen(s1) + strlen(s2) + strlen(s) + 2);
		}
	}
	
	return 0;
} 
2020/10/19 22:47
加载中...