题目大意:读取表达式,并得到结果

解体思路:因为第一个数字可能比long long大,所以用数组表示,然后按照比算的除法进行运算,用ans存储结果,然后输出结果,注意答案是0的情况

#include<cstdio>
#include<cstring>

int main() {
	char str[10000];
	long long b ;
	long long a;
	char mark;
	char ans[10000];	
	while(scanf("%s %c %lld", str, &mark, &b)!=EOF) {
		memset(ans,'\0',sizeof(ans));
		int len = strlen(str);
		a = 0;	
		for(int i = 0 ; i < len; i++) {
			a = a * 10 + str[i] - '0';
			ans[i] = a / b + '0' ;
			a = a % b;
		}
		
		if(mark == '%') 
			printf("%lld\n", a);
		else {
			int i = 0;
			while(ans[i] == '0') {
//				printf("%d",i);
				i++;
			}
			if(ans[i] == '\0')
				i--;
//				printf("%c", ans[i]);	
			for(; i < len; i++)
				printf("%c",ans[i]);
			printf("\n");	
		}
	}
	return 0;

}