zoukankan      html  css  js  c++  java
  • 币值转换

    7-1 币值转换 (20 分)

    输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式。如23108元,转换后变成“贰万叁仟壹百零捌”元。为了简化输出,用小写英文字母a-j顺序代表大写数字0-9,用S、B、Q、W、Y分别代表拾、百、仟、万、亿。于是23108元应被转换输出为“cWdQbBai”元。

    输入格式:

    输入在一行中给出一个不超过9位的非负整数。

    输出格式:

    在一行中输出转换后的结果。注意“零”的用法必须符合中文习惯。

    输入样例1:

    813227345
    输出样例1:
    

    iYbQdBcScWhQdBeSf
    输入样例2:

    6900
    输出样例2:
    

    gQjB

    (一)实验代码:

    #include<stdio.h>//格式化输入输出函数 
    #include<string.h>
         int main() 
    {
    	int l,n;
    	char str[9];//定义字符串数组
    	gets(str);
    	l=strlen(str);//求长度 
    	while(l>9){
    		l--;
    	}
    	n=l;
    	int t=0;//定义t用于判断万位是否输出单位(W) 
    	if(str[1]=='0'&&str[2]=='0'&&str[3]=='0'&&str[4]=='0'){
    		t=1;//若万位,十万位,百万位,千万位都为零,则不需要输出单位万(W) 
    	}else{
    		t=0;
    	}
    	for(int i=0;i<l;i++,n--){
    		char c=str[i];
    	switch(c){
    		case'0':c='a';break;
    		case'1':c='b';break;
    		case'2':c='c';break;
    		case'3':c='d';break;
    		case'4':c='e';break;
    		case'5':c='f';break;
    		case'6':c='g';break;
    		case'7':c='h';break;
    		case'8':c='i';break;
    		case'9':c='j';break;
    		default:break;
    		} 
    		if(l==1&&str[0]=='0'){
    			printf("a");
    		    return 0;
    		}
    		if(c=='a'){//0特殊,为0(a)的字符单独考虑 
    			if(l==5&&t){
    				printf("W");//当0在万位时,直接输出单位万,不需要输出零(a) 
    			}else{//当0不在万位时 
    			for(i++,l--;i<l;i++,l--){//看0的下几位是否为0 
    				if(str[i]=='0'){
    					if(n==5&&t){
    						printf("W");
    					}
    				}
    				else{
    					printf("a");
    					l++;i--;/*将l和i的值恢复到上一位为0的数所代表的值,因为break后,上面的for循环又要把l和i的
    								恢复到先前那个不为0的值所代表的值 */ 
    					break;
    				}
    			}
    		}
    		}else{//字符不为0(a)。 
    			printf("%c",c);//输出字符 
    			switch(n){//位数 
    				case 9:printf("Y");break;
    				case 8:case 4:printf("Q");break;
    				case 7:case 3:printf("B");break;
    				case 6:case 2:printf("S");break;
    				case 5:printf("W");break;
    				default:break;
    			}
    		}
    	}
    	return 0;
    }
    
    

    2、设计思路

    3、实验中遇到的问题及解决方案

    定义字符串数组的长度错误;解决办法:将char str[9]改为char str[10]C语言规定了一个“字符串结束标志”,以字符''代表。如果有一个字符串,其中第10个字符为'',则此字符串的有效字符为9个。也就是说,在遇到第一个字符''时,表示字符串结束,由它前面的字符组成字符串。所以怕是要这样改。

    4、运行结果截图

        ![](https://img2018.cnblogs.com/blog/1580458/201902/1580458-20190214085225127-756606293.jpg)
  • 相关阅读:
    Selenium简单测试页面加载速度的性能(Page loading performance)
    Selenium Page object Pattern usage
    Selenium如何支持测试Windows application
    UI Automation的两个成熟的框架(QTP 和Selenium)
    分享自己针对Automation做的两个成熟的框架(QTP 和Selenium)
    敏捷开发中的测试金字塔(转)
    Selenium 的基础框架类
    selenium2 run in Jenkins GUI testing not visible or browser not open but run in background浏览器后台运行不可见
    eclipse与SVN 结合(删除SVN中已经上传的问题)
    配置Jenkins的slave节点的详细步骤适合windows等其他平台
  • 原文地址:https://www.cnblogs.com/wsyhc/p/10372693.html
Copyright © 2011-2022 走看看