c语言编写函数,对于任意输入一个整数,转换为千分位分隔的字符形式
时间: 2024-05-05 09:19:45 浏览: 100
可以编写以下函数实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void int_to_thousands(int n, char *result) {
char buf[32];
sprintf(buf, "%d", n); // 将整数转换为字符串
int len = strlen(buf);
int k = len % 3; // 计算第一组数字的位数
for (int i = 0; i < len; i++) {
if (i > 0 && (i - k) % 3 == 0) {
*result++ = ','; // 每隔三位添加一个逗号
}
*result++ = buf[i];
}
*result = '\0'; // 字符串末尾添加结束符
}
int main() {
int n = 123456789;
char result[32];
int_to_thousands(n, result);
printf("%s\n", result); // 输出结果:123,456,789
return 0;
}
```
这个函数接受一个整数和一个字符数组指针,将整数转换为千分位分隔的字符形式后存储到字符数组中。在函数内部,先将整数转换为字符串,然后遍历字符串的每个字符,每隔三个字符就添加一个逗号。最后将结果存储到字符数组中并添加结束符。
阅读全文