zoukankan      html  css  js  c++  java
  • 寒假作业2

    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>
    int main()
    
    {
    
      char a[9];
    
      int i,j,k;
    
      scanf("%s",a);
    
      for(i=0;i<9;i++)
    
      {
    
        if(a[i]=='')
    
        break;
    
      }
    
      k=i-1;
    
      if(i==1)
    
      {
    
        if(a[j]=='0')
    
        printf("a");
    
        if(a[j]=='1')
    
        printf("b");
    
        if(a[j]=='2')
    
        printf("c");
    
        if(a[j]=='3')
    
        printf("d");
    
        if(a[j]=='4')
    
        printf("e");
    
        if(a[j]=='5')
    
        printf("f");
    
        if(a[j]=='6')
    
        printf("g");
    
        if(a[j]=='7')
    
        printf("h");
    
        if(a[j]=='8')
    
        printf("i");
    
        if(a[j]=='9')
    
        printf("j");
    
      }
    
      else
    
      {
    
        for(j=0;j<i;j++)
    
        {
    
        
    
          if(a[j]=='0'&&a[j+1]!='0'&&a[j+1]!='')
    
          printf("a");
    
          if(a[j]=='1')
    
          printf("b");
    
          if(a[j]=='2')
    
          printf("c");
    
          if(a[j]=='3')
    
          printf("d");
    
          if(a[j]=='4')
    
          printf("e");
    
          if(a[j]=='5')
    
          printf("f");
    
          if(a[j]=='6')
    
          printf("g");
    
          if(a[j]=='7')
    
          printf("h");
    
          if(a[j]=='8')
    
          printf("i");
    
          if(a[j]=='9')
    
          printf("j");
    
          if(k==8&&a[j]!='0')
    
          printf("Y");
    
          if(k==7&&a[j]!='0')
    
          printf("Q");
    
          if(k==6&&a[j]!='0')
    
          printf("B");
    
          if(k==5&&a[j]!='0')
    
          printf("S");
    
          if(k==4)
    
          printf("W");
    
          if(k==3&&a[j]!='0')
    
          printf("Q");
    
          if(k==2&&a[j]!='0')
    
          printf("B");
    
          if(k==1&&a[j]!='0')
    
          printf("S");
    
          k--;
    
        }
    
      }
    
      }
    

    设计思路:

    额 开辟个数组然后一个个情况都列出来

    实验结果:

    不记得截图了

  • 相关阅读:
    HDU 2888 Check Corners (模板题)【二维RMQ】
    POJ 3264 Balanced Lineup(模板题)【RMQ】
    poj 3368 Frequent values(经典)【RMQ】
    SPOJ RPLN (模板题)(ST算法)【RMQ】
    UVA 796 Critical Links(模板题)(无向图求桥)
    UVA 315 Network (模板题)(无向图求割点)
    POJ 2029 Get Many Persimmon Trees (模板题)【二维树状数组】
    poj 3067 Japan 【树状数组】
    POJ 2481 Cows 【树状数组】
    POJ 1195 Mobile phones【二维树状数组】
  • 原文地址:https://www.cnblogs.com/lcj5657/p/10380781.html
Copyright © 2011-2022 走看看