C语言(不用sprintf)输入一正整数,将其转化为字符串。(如整数12345 转化为“12345”)
时间: 2024-02-02 07:04:20 浏览: 72
C语言中把数字转换为字符串-sprintf
可以按照以下代码实现将正整数转化为字符串(不使用sprintf函数):
```
#include <stdio.h>
void itoa(int num, char str[]) {
int i = 0, j;
char temp;
while (num > 0) {
str[i] = num % 10 + '0';
num /= 10;
i++;
}
str[i] = '\0';
for (j = 0; j < i / 2; j++) {
temp = str[j];
str[j] = str[i - j - 1];
str[i - j - 1] = temp;
}
}
int main() {
int num;
char str[20];
printf("请输入一个正整数:");
scanf("%d", &num);
itoa(num, str);
printf("转化后的字符串为:%s", str);
return 0;
}
```
运行结果如下:
```
请输入一个正整数:12345
转化后的字符串为:12345
```
实现的原理是将正整数每一位上的数字转化为字符,然后按照逆序的顺序存储到字符数组中。最后将字符数组逆序输出即可得到正序的字符串。
阅读全文