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>

    include<math.h>

    int n,s=0;
    int main(void)
    {
    int i,j,k,p=1,flag=1;
    int f(int q,int n);
    scanf("%d",&n);

    for(i=0;n/p>=10;i++){
    	p=pow(10,i);
    	s++;
    }
    if(n==0) printf("a");
    if(n<10&&n>=0) s=1;
    for(j=1;j<=s;j++){
    	switch(f(j,n)){
    		case 0:if(j!=s&&j!=s-4){
    			if(f(j+1,n)==0) flag=0;
    			else flag=1;
    			if(flag)printf("a");break;
    			};break;
    		case 1:printf("b");break;
    		case 2:printf("c");break;
    		case 3:printf("d");break;
    		case 4:printf("e");break;
    		case 5:printf("f");break;
    		case 6:printf("g");break;
    		case 7:printf("h");break;
    		case 8:printf("i");break;
    		case 9:printf("j");break;
    	}
    	if(f(j,n)==0&&j!=s&&j!=s-4) continue;
    	else{
    		if(s==9&&j==5){
    			if(f(2,n)==0&&f(3,n)==0&&f(4,n)==0&&f(5,n)==0)
    			continue;
    		}
    	switch(s-j){
    		case 1:printf("S");break;
    		case 2:printf("B");break;
    		case 3:printf("Q");break;
    		case 4:printf("W");break;
    		case 5:printf("S");break;
    		case 6:printf("B");break;
    		case 7:printf("Q");break;
    		case 8:printf("Y");break;
    	}
    }} 
    return 0;
    

    }
    int f(int q,int n)
    {
    int k,a;
    if(q==1) k=n/pow(10,s-1);
    else{
    a=n/pow(10,s-q+1);
    k=n/pow(10,s-q)-a*10;
    }
    return k;
    }
    2)实验思路
    流程图

    3)实验中碰到的问题及解决方法
    问题:在输入尾数为0的数出错
    解决:没有考虑后面为0的情况,然后添加一段代码
    4)实验结果

  • 相关阅读:
    Overloaded的方法是否可以改变返回值的类型
    parseXXX的用法
    java的类型转换问题。int a = 123456;short b = (short)a;System.out.println(b);为什么结果是-7616?
    UVA 10405 Longest Common Subsequence(简单DP)
    POJ 1001 Exponentiation(大数处理)
    POJ 2318 TOYS(计算几何)(二分)
    POJ 1265 Area (计算几何)(Pick定理)
    POJ 3371 Flesch Reading Ease (模拟题)
    POJ 3687 Labeling Balls(拓扑序列)
    POJ 1094 Sorting It All Out(拓扑序列)
  • 原文地址:https://www.cnblogs.com/tanghenghui/p/10406079.html
Copyright © 2011-2022 走看看