zoukankan      html  css  js  c++  java
  • 7-1 币值转换 (20 分)

    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<math.h>
     int main()
     {
         int i=-1,x,y,z,m,n,h,l,a;
         char c='a';
         scanf("%d",&x);
         y=x;
         if(x==0)
        {
        	printf("a");
        }
    	do
    	{
     		x=x/10;
    		i++;
    	}
       	while(x!=0);
    	do
    	{
    		if(i>=4)
    		{
    		  h=y/10000;
    		  l=i-4;
        }
         if(i<4)
    	 {
    	
              h=y;
    	      l=i;
    	 }
    	a=pow(10,l);
    	m=pow(10,i);
    	z=y/m;
    	if(z==0&&z!=n&&h%a!=0)
    	{
    		printf("a");
    	}
    	if(z!=0)
    	{
    	    printf("%c",c+z);
    	if(i==8){
    		printf("Y");
    	}
    	if(i==7||i==3)
    		printf("Q");
    	if(i==6||i==2)
    	{
    		printf("B");
    	}
    	if(i==5||i==1)
    	{
    		printf("S");
    	}
    	if(i==4)
    	{
    		printf("W");
    	}
        }
    	if(i==4&&z==0)
    	{
    		printf("W");
    	}
        	if(n==0&&i==3&&z==0)
        	{
    		printf("a");
        	}
    		y=y%m;
       		i--;
      		n=z;
       	}
       	while(y!=0);
    	return 0;
     }
    

    实验步骤

     利用数学函数 include<math.h> 然后定义整型变量和字符变量 接着是判断输入的值,  然后利用除余的方式,整理出每一位数字,然后进行判断,最后输出结果!
  • 相关阅读:
    WHYZOJ-#53 线段树区间修改(线段树)
    洛谷-3373 【模板】线段树 2 (线段树)
    暑假训练-藏妹子之处(递推)
    POJ-1258 Agri-Net(kruskal最小生成树)
    POJ-2559 Largest Rectangle in a Histogram(单调栈)
    BZOJ3439 Kpm的MC密码
    BZOJ3438 小M的作物
    BZOJ3436 小K的农场
    BZOJ3437 小P的牧场
    BZOJ1430 小猴打架
  • 原文地址:https://www.cnblogs.com/xw1203/p/10386522.html
Copyright © 2011-2022 走看看