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
    1)实验代码

    #include<stdio.h>
    int main()
    {
    	int n,i,j;
    	char a[10]={'a','b','c','d','e','f','g','h','i','j'};
    	char b[10];
    	int c[10]={0,0,0,0,0,0,0,0,0,0};
    	scanf("%d",&n);
    	if(n==0)
    	printf("a");
    	else
    	{
    		for(i=1;n>0;i++)
    	    {
    	 	 b[i]=n%10;
    	 	 n=n/10;
         	}
    	    i=i-1;
    		for(j=i;j>0;j--)
    	   {
    	     if(b[j]==0)
    	     {
    	      if(b[j-1]!=0)
    	  	  printf("a");
    	     } 
    	     else
    	     printf("%c",a[b[j]]);                            
    	     if(j==5&&(b[8]!=0||b[7]!=0||b[6]!=0||b[5]!=0))
    	     printf("W");
    	     if(b[j]!=0)
    	     {
    	 	  if(j==2||j==6)
    	 	  printf("S");
    	 	  if(j==3||j==7)
    	 	  printf("B");
    	 	  if(j==4||j==8)
    	 	  printf("Q");
    	 	  if(j==9)
    	 	  printf("Y");
    	     }
     	   }
    	}
    	
    	return 0;
    }
    

    2)设计思路

    3)本题调试过程遇到的问题及解决方法
    问题:本题尝试多次没有做出来
    解决百度参考发现运用了未曾学过的数组,还不能理解。
    4)运行结果截图

  • 相关阅读:
    2018 ACM 网络选拔赛 徐州赛区
    2018 ACM 网络选拔赛 焦作赛区
    2018 ACM 网络选拔赛 沈阳赛区
    poj 2289 网络流 and 二分查找
    poj 2446 二分图最大匹配
    poj 1469 二分图最大匹配
    poj 3249 拓扑排序 and 动态规划
    poj 3687 拓扑排序
    poj 2585 拓扑排序
    poj 1094 拓扑排序
  • 原文地址:https://www.cnblogs.com/H468/p/10413493.html
Copyright © 2011-2022 走看看