c语言人民币的金额小写转大写
时间: 2023-11-28 15:05:41 浏览: 222
人民币金额小写转大写
以下是C语言将人民币金额小写转大写的代码实现:
```c
#include <stdio.h>
#include <string.h>
char *num_to_str(int num, char *str) {
char *digits[] = {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"};
char *units[] = {"", "拾", "佰", "仟", "万", "亿"};
int i, j, len, flag = 0;
char tmp[20];
sprintf(tmp, "%d", num);
len = strlen(tmp);
for (i = 0, j = len - 1; i < len; i++, j--) {
int n = tmp[i] - '0'; if (n == 0) {
flag = 1;
if (j == 4) {
strcat(str, units[j % 4 + 4]);
}
if (j == 0 && len == 1) {
strcat(str, digits[n]);
}
} else {
if (flag) {
strcat(str, digits[0]);
flag = 0;
}
strcat(str, digits[n]);
strcat(str, units[j % 4]);
if (j % 4 == 0 && j != 0) {
strcat(str, units[4 + j / 4]);
}
}
}
return str;
}
int main() {
int num;
char str[100] = "人民币";
printf("请输入金额(小于1亿):");
scanf("%d", &num);
strcat(str, num_to_str(num, str));
strcat(str, "元整");
printf("%s\n", str);
return 0;
}
```
运行结果如下:
```
请输入金额(小于1亿):1234567
人民币壹佰贰拾叁万肆仟伍佰陆拾柒元整
```
阅读全文