使用C语言编写函数,对于任意输入的一个整数,转换为千分位分隔的字符形式,在主函数中调用并输出。
时间: 2024-05-10 12:14:15 浏览: 130
将一个正整数n(长整型)输出成“千分位”形式,即从个位数起,每三位之间加一个逗号,例如,将7654321输出成7,654,321;
4星 · 用户满意度95%
好的,这个问题我可以回答。以下是一个使用C语言编写的函数,用于将一个整数转换为千分位分隔的字符形式:
```c
#include <stdio.h>
#include <string.h>
void format(int num) {
char str[20];
sprintf(str, "%d", num);
int len = strlen(str);
int comma = (len - 1) / 3;
int mod = len % 3;
if (mod == 0) {
mod = 3;
}
for (int i = 0; i < len; i++) {
printf("%c", str[i]);
if ((i + 1 - mod) % 3 == 0 && comma > 0) {
printf(",");
comma--;
}
}
printf("\n");
}
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
printf("转换后的结果为:");
format(num);
return 0;
}
```
在主函数中,我们首先通过 `scanf` 函数获取一个整数输入,并将其传递给 `format` 函数。在 `format` 函数中,我们将整数转换为字符串形式,并计算出需要插入的逗号数量。然后,我们遍历字符串中的每个字符,每隔三个字符插入一个逗号,直到插入完所有逗号为止。最后,我们在主函数中输出转换后的结果。
注意,此函数仅适用于整数,如果需要支持浮点数或其他类型的数字,需要进行相应的修改。
阅读全文