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

    1)题目
    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

    2)实验代码

    include<stdio.h>

    int main ()
    {
    int n, initial_n;
    scanf("%d", &n);
    initial_n = n;

    char num[10] = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'};
    char unit[10] = {0, 0, 'S', 'B', 'Q', 'W', 'S', 'B', 'Q', 'Y'}; 
    char result[17]={0}; 
    
    int i, last_i = n % 10; 
    int j = 0;
    int count_n = 0;
    while (n > 0) {
        i = n % 10;
        n /= 10;
        count_n ++;
        if (i == 0 && (count_n % 4) > 1) {  
            if (last_i != 0) {   
                result[j++]  = num[i];    
            } 
        }
        if (count_n == 5 && i == 0 && initial_n < 100000000) {
            result[j++] =  unit[count_n];
        }
        if (count_n > 1 && i != 0) {    
            result[j++] = unit[count_n];
        } 
        if (i != 0) {              
            result[j++] = num[i];
        }
        last_i = i; 
    }
    
    if (initial_n == 0) {       
        result[j++]  = num[i];
    } 
    
    for (j=j-1; j>=0; j--) {
        printf("%c", result[j]);
    }
    printf("
    ");
    
    return 0;
    

    }

    3)设计思路流程图

  • 相关阅读:
    win10 uwp 弹起键盘不隐藏界面元素
    win10 uwp 存放网络图片到本地
    win10 uwp 存放网络图片到本地
    sublime Text 正则替换
    sublime Text 正则替换
    win10 uwp 绘图 Line 控件使用
    win10 uwp 绘图 Line 控件使用
    AJAX 是什么?
    什么是 PHP SimpleXML?
    PHP XML DOM:DOM 是什么?
  • 原文地址:https://www.cnblogs.com/mediaswag666/p/10406612.html
Copyright © 2011-2022 走看看