Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <string.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <locale.h>
- int main()
- {
- char buf[32], *p/*数字尾*/, *t;
- wchar_t num[] = {L'零', L'壹', L'贰', L'叁', L'肆', L'伍', L'陆', L'柒', L'捌', L'玖'};
- wchar_t str[] = {L'圆', L'拾', L'佰', L'仟', L'万', L'拾', L'佰', L'仟', L'亿', L'拾', L'佰', L'仟'};
- wchar_t str1[] = {L'角', L'分', L'厘'};
- wchar_t result[64], *pr = result;
- unsigned len, flag = 0;
- setlocale(LC_ALL, "");
- printf("Please input the price: ");
- gets(buf);
- for (p = buf; isdigit(*p); ++p);
- if (*p == '.')
- *p = '\0', ++p;
- len = strlen(buf) - 1;
- for (t = buf; *t != '\0'; ++t) {
- if (*t == '0') {
- if (len == 4 || len == 8) {
- if (pr[-1] == num[0])
- --pr;
- if (!(len == 4 && pr[-1] == str[8])) {
- *pr++ = str[len];
- }
- flag = 0;
- }
- if (flag == 0) {
- *pr++ = num[0], flag = 1;
- }
- --len;
- } else {
- flag = 0;
- *pr++ = num[*t - '0'];
- *pr++ = str[len--];
- }
- }
- if (*p=='\0') {
- pr[-1] = str[0];
- *pr++ = L'整';
- } else {
- for (len = 0; *p && len<3; ++len) {
- if (*p == '0') {
- ++p;
- continue;
- }
- *pr++ = num[*p++ - '0'];
- *pr++ = str1[len];
- }
- }
- *pr = '\0';
- wprintf(L"%s\n", result);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement