我把最后一个版本修改了一下,
```c
switch (b) {
case 1: printf("/");
op(q,r);
break;
case 2: printf(".");
op(q,r);
break;
case 3: printf("%%");
}
}
```
有误,其中的```case 2```内的```op```函数应当为```op(i,r)```;
但是依然只有95分,第12个测试点wa(已经不能下载数据了),求解......
by sduoooh @ 2022-01-19 14:26:36
。
by wxj1860 @ 2022-02-11 12:00:18
为什么都喜欢用switch啊,好像也不比if 4个判断快多少吧
by wxj1860 @ 2022-02-11 12:01:12
1.先判断输入的字符串类型(整数,小数,分数,百分数),建议存储用字符数组
用一个变量num存符号的位置 “.”“/”(“%”一定在最后一位),变量size存字符长度
2.整数没什么好说的应该都会
3.小数的整数部分跟整数没区别(1~num-1)从num-1开始向前判零,小数部分(num+1~size)跟整数部分相反,要从num+1开始判零,最后颠倒输出
4.分数比小数简单,分成两个部分(1~num-1和num+1~size)分别进行整数判断就行了
5.百分数就是直接进行整数判断(注意去掉最后的%,即1~size-1),最后输出零
PS:整数为零记得特判,符号记得输出
by wxj1860 @ 2022-02-11 12:17:50
@[wxj1860](/user/671859) 我用```switch```的原因可能比较朴素,就是觉得好看(手动笑哭)
by sduoooh @ 2022-02-17 23:18:27
@[wxj1860](/user/671859) 谢谢!问题已经解决了!
by sduoooh @ 2022-02-17 23:20:51