• 币值转换


    编程总结2

    题目2:币值转换

    我的代码:

    include <stdio.h>

    include <string.h>

    void printNumber(char s, int i, int len);

    void printPlace(char s, int, int);

    int main()

    {

    char s[11];

    int i, strLen;

    gets(s);

    strLen = (int)strlen(s);

    if (strLen == 1 && s[0] == '0') {

        printf("a\n");

        return 0;

    }

    for (i=0; i<strLen; i++) {

        if (s[i] == '0') {

            if (strLen-i == 5) {

                if (s[1]!='0' || s[2]!='0' || s[3]!='0' || s[4]!='0' || strLen < 9) {

                    printf("W");

                }

            }

            if (s[i+1] != '0' && s[i+1] != '\0' && (strLen-i != 5)) {

                printf("a");

            }

            continue;

        }else {

            printNumber(s, i, strLen);

            if (strLen-i == 5) {

                if (s[1]!='0' || s[2]!='0' || s[3]!='0' || s[4]!='0' || strLen < 9) {

                    printf("W");

                }

            }

        }

        

        if (strLen-i == 9) {

            printf("Y");

        }

    }

    return 0;

    }

    void printNumber(char *s, int i, int len)

    {

    int num = s[i] - '0';

    switch (num) {

        case 0:

            printf("a");

            if (s[i] != '0') {

                printPlace(s, len-i, len);

            }

            break;

        case 1: printf("b"); printPlace(s, len-i, len); break;

        case 2: printf("c"); printPlace(s, len-i, len); break;

        case 3: printf("d"); printPlace(s, len-i, len); break;

        case 4: printf("e"); printPlace(s, len-i, len); break;

        case 5: printf("f"); printPlace(s, len-i, len); break;

        case 6: printf("g"); printPlace(s, len-i, len); break;

        case 7: printf("h"); printPlace(s, len-i, len); break;

        case 8: printf("i"); printPlace(s, len-i, len); break;

        case 9: printf("j"); printPlace(s, len-i, len); break;

    }

    }

    void printPlace(char *s, int i, int len)

    {

    switch (i) {

    case 1: break;

    case 2: printf("S"); break;

    case 3: printf("B"); break;

    case 4: printf("Q"); break;

    case 5: break;

    case 6: printf("S"); break;

    case 7: printf("B"); break;

    case 8: printf("Q"); break;

    }

    }

    2.解题思路

    第一步:中规中矩的题,从同学那得到启发。

    第二步:通过书籍,最终解得题目。

    3.题目中遇到的难题与解决办法

    4.运行结果截图

  • 相关阅读:
    linux centos 8 为.net core 添加进程守护 Supervisor
    vue-quill-editor安装及使用:自定义工具栏和自定义中文字体,把字体写在html的style中
    nginx参数
    k8s pod 挂载glusterfs报错
    Vue跨域问题解决
    CSS导航菜单(二级菜单)
    CSS导航菜单(一级菜单)
    微信小程序开发正常,真机预览模式错误
    uniapp获取用户OpenId及用户详情
    uniapp 获取用户手机号
  • 原文地址:https://www.cnblogs.com/xzhxzh/p/10386837.html
Copyright © 2020-2023  润新知