求助 为什么Visual Studio2017正常过 提交全部TLE
查看原帖
求助 为什么Visual Studio2017正常过 提交全部TLE
474584
FireWolf楼主2021/2/22 10:08
#include <stdio.h>
#include <ctype.h>
/*
每次更新一个字符-数据-字符单元,然后进行处理
*/
void add(int *, int, char);

void readd(int *, int, char);

int main(void)
{
	char pre = '0', suf, ch, x;
	int coef = 0, nums = 0, num;
	_Bool change = 0, in;

	do
	{
		in = 0;

		if (pre == '=')
			change = 1;

		if (pre != '+'&&pre != '-')
			pre = '+';

		scanf_s("%d", &num);

		while (isalpha(ch = getchar()))
		{
			in = 1;
			x = ch;
		}
		suf = ch;

		if (change == 0)
			if (in == 0)
				add(&nums, num, pre);
			else
				add(&coef, num, pre);
		else
			if (in == 0)
				readd(&nums, num, pre);
			else
				readd(&coef, num, pre);

		pre = suf;
	} while (pre != '\n');

	if (nums != 0)
		printf("%c=%.3f", x, -(float)nums / coef);
	else
		printf("%c=0.000", x);

	return 0;
}

void add(int * sum, int num, char ch)
{
	if (ch == '+')
		*sum += num;
	else
		*sum -= num;
}

void readd(int * sum, int num, char ch)
{
	if (ch == '-')
		*sum += num;
	else
		*sum -= num;
}
2021/2/22 10:08
加载中...