#include <stdio.h> #include <string.h> char * trnrmb(char * s) { char *brmb[10]={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"}; char *rmbunit[16]={"仟","佰","拾","万","仟","佰","拾","亿","仟","佰","拾","万","仟","佰","拾","元"}; int i,len=strlen(s); for(i=0;i<len;i++) printf("%s%s",*(brmb+s[i]-0x30),*(rmbunit+16-len+i)); } void main(int args,char argv[]) { char s[30]; long long int i; printf("请输入小写人民币金额:"); scanf("%lld",&i); sprintf(s,"%lld",i); trnrmb(s); } 学习c的联系之作, 支持千万亿之内的整数人民币转换为大写,未做异常判断.不能处理"零"的问题,会显示壹万零仟零佰叁拾肆元这种样子 ,希望高手帮助下