为什么c语言过不了,全红是哪里有问题,求助大佬
查看原帖
为什么c语言过不了,全红是哪里有问题,求助大佬
1093775
carloney2楼主2023/12/1 21:17
#include<stdio.h>
#include<string.h>
#include<ctype.h>
int main()
{
	int n;
	scanf("%d",&n);
	int c;
	while ((c = getchar()) != '\n' && c != EOF);
	char input[51][51];
	int i = 0;
	while (i < n && fgets(input[i], sizeof(input[i]), stdin) != NULL)
	{
		input[i][strcspn(input[i], "\r\n")] = '\0';
		i++;
	}
	char f='\0';
	int chucun[3] = { 0 };
	char output[20] = {'\0'};
	for (int i = 0; i < n; i++)
	{
		if (isalpha(input[i][0]))
		{
			sscanf(input[i],"%c %d %d",&f, &chucun[0], &chucun[1]);
		}
		else {
			sscanf(input[i],"%d %d",&chucun[0], &chucun[1]);
		}
			switch (f)
			{
			case 'a':sprintf(output,"%d+%d=%d", chucun[0], chucun[1], chucun[0] + chucun[1]);
				break;
			case 'b':sprintf(output, "%d-%d=%d", chucun[0], chucun[1], chucun[0] - chucun[1]);
				break;
			case 'c':sprintf(output, "%d*%d=%d", chucun[0], chucun[1], chucun[0] * chucun[1]);
				break;
			}
			printf("%s\n", output);
			if(i<n-1)
			    printf("%d\n", (int)strlen(output));
			else
				printf("%d", (int)strlen(output));
	}
	return 0;
}

2023/12/1 21:17
加载中...