C 70分求助
查看原帖
C 70分求助
1054137
EkSulfur楼主2023/12/14 08:44
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
char s[10], c;

int calculate(int x, int y, char *a) {
	switch (*a) {
		case 'a': {
			*a = '+';
			return x + y;
			break;
		}
		case 'b': {
			*a = '-';
			return x - y;
			break;
		}
		case 'c': {
			*a = '*';
			return x * y;
			break;
		}
	}
	printf("ERR\n");
	return 0;
}



int main(void) {
	int n;
	scanf("%d", &n);
	char m[n];
	int a[n][3];
	for (int i = 0; i < n; i++) {
		m[i] = s[0];
		scanf("%s", &s);
		if ((int)strlen(s) > 1) {
			a[i][0] = atoi(s);
			scanf("%d", &a[i][1]);
			a[i][2] = calculate(a[i][0], a[i][1], &m[i]);
		} else {
			m[i] = s[0];
			scanf("%d%d", &a[i][0], &a[i][1]);
			a[i][2] = calculate(a[i][0], a[i][1], &m[i]);
		}
	}
	for (int i = 0; i < n; i++) {
		char ans[50];
		sprintf(ans, "%d%c%d=%d", a[i][0], m[i], a[i][1], a[i][2]);
		printf("%s\n%d\n", ans, (int)(strlen(ans)));
	}
	return 0;
}
2023/12/14 08:44
加载中...