总是wa说读到回车,尝试没有啊

P1022 [NOIP2000 普及组] 计算器的改良

希望更丰富的展现?使用Markdown
by 求败 @ 2018-10-21 19:58:45


别用%c了 那是个玄学的东西 ------------ @[Lv1000](/space/show?uid=116532)
by 求败 @ 2018-10-21 19:59:58


其实可以 ``` scanf("\n"); ```
by wxy_god @ 2018-10-21 20:01:56


@[求败](/space/show?uid=33615) 那该怎么办,我函数就是逐个读取字符,就算用cout输出也是一样
by Lv1000 @ 2018-10-21 20:19:42


@[Lv1000](/space/show?uid=116532) 可以发一下源代码吗
by 求败 @ 2018-10-21 20:25:43


@[求败](/space/show?uid=33615) 可以,但是怎么发,这个自己会乱
by Lv1000 @ 2018-10-21 20:30:07


```c #include <stdio.h> //#include <stdlib.h> char x; void getsj(int *a1, int *b1) { int a = 0, b = 0, c = 0, sg = 1; char d; while (1) { d=getchar(); if (d >= '0'&&d <= '9') { c *= 10; c += d - 48; } else if (d == '+') { a += sg * c; c = 0; sg = 1; } else if (d == '-') { a += sg * c; c = 0; sg = -1; } else if (d != '\n'&&d != '=') { x = d; b += sg * c; if (c == 0) { b += sg; } c = 0; } else { a += sg * c; break; } }; *a1 = a; *b1 = b; } int main() { int a, b,c,d; getsj(&a, &b); getsj(&c, &d); double reslut = (double)(a - c) / (double)(d - b); printf("%c=%.3lf",x,reslut); //system("pause"); return 0; } ```
by Lv1000 @ 2018-10-21 20:40:32


@[求败](/space/show?uid=33615) 这是我完全改成C后的,还是一样问题
by Lv1000 @ 2018-10-21 20:41:27


@[Lv1000](/space/show?uid=116532) 好像没有什么问题,可能是我太菜了吧 ------------ 不好意思,你请大佬看一下吧,我实在是看不出来 ------------ 不过,重复的变量名最好不要使用,容易出错
by 求败 @ 2018-10-21 20:55:41


@[求败](/space/show?uid=33615) 好吧,谢谢
by Lv1000 @ 2018-10-21 21:24:56


| 下一页