在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;
}