在昨天b站比特学习了顺序表后对数组又熟悉了不少,看洛谷题库数组的一道普及题感觉跟刚学的知识有点像,于是凭感觉敲了大概160行的代码。
将这道题每种情况的转换都写一个接口函数;
其中整数转换的代码思路和百分数大致一样,只需要cv一下,稍微调整;
分数和数的部分很像,只需要cv一下,稍微调整;
但是分数分母的转换后对0的处理不能从尾部开始于是对这种特殊情况单独处理一下,
对于0的处理:判断该0是否为无效0,为无效0则数组元素前移一位将该0覆盖。
以下代码用到string.h中的char* strchr(char* ch, char op)库函数,如果在字符串ch中找到字符op则返回op在字符串ch中的位置,否则返回NULL。所以在字符串中找小数点和分号的位置时可以利用这个函数将这个函数的返回值减去字符串首地址得到符号位置。
以下为代码:
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
//检查头部是否为无用0
void checkbegin(char *ps, int size) {
//检查头部有多少无用0
if (size &