全RE,C98,求大佬解答
查看原帖
全RE,C98,求大佬解答
1103760
yoruska楼主2023/11/20 21:53

在vs中可以过...想了很多方法依然全都是RE,实在是没办法了QAQ...(没用gets、数组也没有开大或是开小....)谢各位大佬指教

#include<stdio.h>
#include<string.h>
#include<ctype.h>
#include<math.h>

long long arr[53][2];
char fucl[53];
char str[50];
char strt[50];
int main()
{
	int n = 0;
	scanf("%d", &n);
	char fuc = 0;
	int i = 0;
	getchar();
	for (i = 0; i < n; i++)
	{
		fgets(str, 50, stdin);
		int j = 0;
		if (isalpha(str[0]))
		{
			fuc = str[0];
			j = 2;
		}
		fucl[i] = fuc;
		int k = 0;
		for (j; str[j] != ' ' && str[j] != '\n'; j++, k++)
			strt[k] = str[j];
		k--;
		j++;
		int len = strlen(strt);
		for (k; k >= 0; k--)
			arr[i][0] += (long long)pow(10, len - k - 1) * (strt[k] - '0');
		memset(strt, 0, sizeof(strt));
		k = 0;
		for (j; str[j] != ' ' && str[j] != '\n'; j++, k++)
			strt[k] = str[j];
		k--;
		len = strlen(strt);
		for (k; k >= 0; k--)
			arr[i][1] += (long long)pow(10, len - k - 1) * (strt[k] - '0');
		memset(strt, 0, sizeof(strt));
		switch (fucl[i])
		{
		case 'a':
			printf("%d", printf("%lld+%lld=%lld\n", arr[i][0], arr[i][1], arr[i][0] + arr[i][1]) - 1);
			break;
		case 'b':
			printf("%d", printf("%lld-%lld=%lld\n", arr[i][0], arr[i][1], arr[i][0] - arr[i][1]) - 1);
			break;
		case 'c':
			printf("%d", printf("%lld*%lld=%lld\n", arr[i][0], arr[i][1], arr[i][0] * arr[i][1]) - 1);
			break;
		}
		if (i != n - 1)
			printf("\n");
	}
	return 0;
}
2023/11/20 21:53
加载中...