题目大意:读取表达式,并得到结果
解体思路:因为第一个数字可能比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;
}