为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

一个数字小写转大写的程序

2018-01-06 10页 doc 24KB 23阅读

用户头像

is_180829

暂无简介

举报
一个数字小写转大写的程序一个数字小写转大写的程序 一个数字小写转大写的程序 //程序编译通过,可惜没有出结果,多指正 #include #include #include bool ChgLowerToUpper(int ivalue, char *svalue); void GetUpperFromLower(int ival, char *supp); bool GetHandreUpper(int ivalue, char *svalue); bool GetThousandUpper(int ivalue, char *sva...
一个数字小写转大写的程序
一个数字小写转大写的程序 一个数字小写转大写的程序 //程序编译通过,可惜没有出结果,多指正 #include #include #include bool ChgLowerToUpper(int ivalue, char *svalue); void GetUpperFromLower(int ival, char *supp); bool GetHandreUpper(int ivalue, char *svalue); bool GetThousandUpper(int ivalue, char *svalue); bool GetAllUpper(int ivalue, char *svalue); int main(int argc, char ** argv) { if(argc != 2) { perror("num of paramter is error!\n"); return 1; } char * strvar = *(argv + 1); int value = atoi(strvar); char * strvalue = ""; if(ChgLowerToUpper(value,strvalue)) { printf("%d = %s\n", value, strvalue); return 0; } return 1; } bool ChgLowerToUpper(int ivalue, char *svalue) { printf("ChgLowerToUpper\n"); printf("ivalue = [%2d]\n", ivalue); svalue = ""; //分阶段考虑 if(ivalue == 0) { GetUpperFromLower(ivalue,svalue); } else if((ivalue > 0)&&(ivalue < 10000)) { GetHandreUpper(ivalue,svalue); } else if(ivalue == 10000) { GetUpperFromLower(1,svalue); strcat(svalue, "万"); } else if((ivalue > 10000)&&( ivalue < 100000000)) { GetThousandUpper(ivalue,svalue); } else if(ivalue == 100000000) { GetUpperFromLower(1,svalue); strcat(svalue, "亿"); } else if((ivalue > 100000000)&&(ivalue <= 2000000000)) { GetAllUpper(ivalue,svalue); } else return false; return true; } //基础数据 void GetUpperFromLower(int ival, char *supp) { printf("GetUpperFromLower\n"); printf("ival = [%2d]", ival); switch(ival) { case 0: supp = "零"; break; case 1: supp = "壹"; break; case 2: supp = "贰"; break; case 3: supp = "叁"; break; case 4: supp = "肆"; break; case 5: supp = "伍"; break; case 6: supp = "陆"; break; case 7: supp = "柒"; break; case 8: supp = "捌"; break; case 9: supp = "玖"; break; default: supp = ""; break; } } //转换万以下的 bool GetHandreUpper(int ivalue, char *svalue) { printf("GetHandreUpper\n"); printf("ivalue = [%2d]\n", ivalue); int i = 0; char *temp = ""; int flag = 0; //处理千位 i = ivalue/1000; if(i != 0) { GetUpperFromLower(i,temp); svalue = strcat(temp, "仟"); printf("temp = [%s]\n", temp); } ivalue %= 1000; //处理百位 i = ivalue/100; if(i != 0) { GetUpperFromLower(i,temp); svalue = strcat(temp, "佰"); } else if((i == 0)&&(!strlen(svalue))) { i = ivalue%100; if(i == 0) return true; else { svalue = strcat(svalue, "零"); flag++; } } ivalue %= 100; //处理十位 i = ivalue/10; if(i != 0) { GetUpperFromLower(i,temp); svalue = strcat(temp, "拾"); } else if((i == 0)&&(!strlen(svalue))) { i = ivalue%10; if(i == 0) return true; else { if(flag == 0) svalue = strcat(svalue, "零"); } } ivalue %= 10; //处理个位 i = ivalue; if(i != 0) { GetUpperFromLower(i,temp); svalue = strcat(svalue, temp); } return true; } //转换万以上,亿以下 bool GetThousandUpper(int ivalue, char *svalue) { printf("GetThousandUpper\n"); printf("ivalue = [%2d]\n", ivalue); int i = 0,value = 0; char *temp = "",*stemp = ""; int flag = 0; svalue = ""; value = ivalue/10000; GetHandreUpper(value,temp); temp = strcat(temp, "万"); ivalue %= 10000; if(ivalue == 0) { svalue = temp; return true; } else { if(ivalue < 1000) temp = strcat(temp, "零"); GetHandreUpper(ivalue,stemp); } svalue = strcat(temp, stemp); return true; } //最大数字转换 bool GetAllUpper(int ivalue, char *svalue) { printf("GetAllUpper\n"); printf("ivalue = [%2d]\n", ivalue); int i = 0,value = 0; char *temp = "", *stemp = ""; int flag = 0; svalue = ""; value = ivalue/100000000;//转换亿以上的数字 GetHandreUpper(value,temp); temp = strcat(temp, "亿"); ivalue %= 100000000;//转换亿以下的数字 if(ivalue == 0) { svalue = temp; return true; } else if(ivalue < 10000) { if(ivalue < 1000) temp = strcat(temp, "零"); GetHandreUpper(ivalue,stemp); } else if(ivalue == 10000) { GetUpperFromLower(1,stemp); stemp = strcat(stemp, "万"); } else { if((ivalue < 10000000)&&(ivalue > 10000)) temp = strcat(temp, " 零"); GetThousandUpper(ivalue,stemp); } svalue = strcat(temp, stemp); return true; }
/
本文档为【一个数字小写转大写的程序】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索