使用c++完成函数 itoas 的编写,该函数实现将正整数 num 转换成字符串存放到 s 中。如 num 为 123 时,转换后 s 中将存放 "123",num 为 40 时,转换后 s 中将存放 "40"。
时间: 2024-04-14 09:28:22 浏览: 79
以下是使用C++编写的函数`void itoas(int num, char *s)`,用于将正整数`num`转换为字符串并存放在`s`中:
```cpp
#include <cstring>
void itoas(int num, char *s) {
int i = 0;
// 处理负数
bool isNegative = false;
if (num < 0) {
isNegative = true;
num = -num;
}
// 将每一位数字转换为字符,并存放到s中
do {
s[i++] = num % 10 + '0';
num /= 10;
} while (num > 0);
// 如果是负数,添加负号
if (isNegative) {
s[i++] = '-';
}
// 添加字符串结束符
s[i] = '\0';
// 反转字符串
int len = strlen(s);
for (int j = 0; j < len / 2; j++) {
char temp = s[j];
s[j] = s[len - j - 1];
s[len - j - 1] = temp;
}
}
```
这个函数使用了循环和取余运算来将每一位数字转换为字符,并按逆序存放在字符串`s`中。如果输入的`num`是负数,则先将其转换为正数,并在最后添加负号。最后,通过反转字符串的方法,将逆序存放的字符恢复为正序。请注意,在使用该函数之前,需要确保`s`具有足够的空间来存放转换后的字符串。
阅读全文