• 编程总结(2)


    币值转换 (20 分)
    输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式。如23108元,转换后变成“贰万叁仟壹百零捌”元。为了简化输出,用小写英文字母a-j顺序代表大写数字0-9,用S、B、Q、W、Y分别代表拾、百、仟、万、亿。于是23108元应被转换输出为“cWdQbBai”元。
    输入格式:
    输入在一行中给出一个不超过9位的非负整数。
    输出格式:
    在一行中输出转换后的结果。注意“零”的用法必须符合中文习惯。
    1.实验代码

    include<stdio.h>

    include<string.h>

    int main(void)
    {
    char s[10];
    int l,len,i,j;
    gets(s);
    len=strlen(s);
    l=len;
    if(len1&&s[0]'0')
    printf("a");
    for(i=0;i<len;i++,l--)
    {
    char c=s[i];
    switch(c)
    {
    case '0':c='a';break;
    case '1':c='b';break;
    case '2':c='c';break;
    case '3':c='d';break;
    case '4':c='e';break;
    case '5':c='f';break;
    case '6':c='g';break;
    case '7':c='h';break;
    case '8':c='i';break;
    case '9':c='j';break;
    default:break;
    }
    if(c'a')
    {
    if(l
    5)
    {
    if(s[i-1]!='0'||s[i-2]!='0'||s[i-3]!='0')
    printf("W");
    }
    else
    {
    for(i++,l--;i<len;i++,l--)
    {
    if(s[i]'0')
    {
    if(l
    5)
    {
    if(s[i-1]!='0'||s[i-2]!='0'||s[i-3]!='0')
    printf("W");
    }
    }
    else
    {
    printf("a");
    i--;
    l++;
    break;
    }
    }
    }
    }
    else
    {
    printf("%c",c);
    switch(l)
    {
    case 9:printf("Y");break;
    case 8:printf("Q");break;
    case 7:printf("B");break;
    case 6:printf("S");break;
    case 5:printf("W");break;
    case 4:printf("Q");break;
    case 3:printf("B");break;
    case 2:printf("S");break;
    default:break;
    }
    }
    }
    return 0;
    }
    2.设计思路
    第一步:因为题中出现需要把现实中所用的替换成编号,由以前所学调运switch语句。
    第二步:由题中出现需要表达的数字,调用字符。
    第三步:按题中对0的要求,结合实际,编写代码。
    3.遇到的问题
    问题一:主要是对于题中0的要求理解不到位,导致编译过程的缺失。
    解决方法:不断调试,与同学讨论,请教同学。
    问题二:对于数组知识的陌生,导致编译困难。
    解决方法:请教同学弄清所要运用的知识点,再上网学习,再编写。

  • 相关阅读:
    【leetcode】Binary Search Tree Iterator
    【leetcode】Palindrome Partitioning II
    【leetcode】Best Time to Buy and Sell Stock III
    【leetcode】Best Time to Buy and Sell Stock II
    【leetcode】Longest Consecutive Sequence
    【leetcode】Factorial Trailing Zeroes
    【leetcode】Simplify Path
    【leetcode】Generate Parentheses
    【leetcode】Combination Sum II
    【leetcode】Combination Sum
  • 原文地址:https://www.cnblogs.com/arthur-w/p/10411870.html
Copyright © 2020-2023  润新知