#include<stdio.h> #include<string.h> int main() { char price[10]; if (scanf("%s", price)!=EOF){ int cnt = strlen(price); // 字符串长度即输入位数 int i; char dig, bit; for( i=0; i<cnt ; i++){ dig = price[i]-'0'+'a'; // 数字转换 switch( cnt-i ){ // 位数转换 case 9: bit = 'Y'; break; case 8: bit = 'Q'; break; case 7: bit = 'B'; break; case 6: bit = 'S'; break; case 5: bit = 'W'; break; case 4: bit = 'Q'; break; case 3: bit = 'B'; break; case 2: bit = 'S'; break; case 1: bit = '\n'; break; } // 汉语说话习惯:0后不加位,在中间段有相连0只读出1个0,末尾段相连0直接忽略,注意万的位数一定要读 price[-1] = '1'; if( price[i]!='0' ){ printf("%c%c", dig, bit); } else { // 0位 if( cnt==1 ){ printf("%c\n", dig); // 最小个位数0 } if( cnt-i==5 ){ // 万位一定需要输出 printf("%c", bit); } if( price[i-1]!='0' ){ // 本位为第一个0开始的位置 int j; int cnt0 = 0; // 记录从i位起向后0的位数 for( j=i; j<cnt; j++){ if( price[j]=='0' ){ cnt0 ++; } } if( cnt0!=cnt-i ){ // 从i位起并非都是0,则输出第一个0位 printf("%c", dig); } } } } }else{ printf("input wrong"); } return 0; }
c语言编程练习题:7-83 币值转换
作者:yunjinqi
类别:编程
日期:2023-05-31 10:00:29
阅读:590 次
消耗积分:0 分
版权所有,转载本站文章请注明出处:云子量化, https://www.yunjinqi.top/article/208
最新文章
系统当前共有 404 篇文章