zoukankan      html  css  js  c++  java
  • pat1100 Mars Numbers

    数据不多,所以用打表法完成.getline(cin,str)是读取一行,注意用getchar回收上面scanf结束的回车。cin以空格为结尾,getline以回车作为结尾(因为是读取一整行).

    用stringstream来完成字符串到int的转化过程.

    题面信息复制复制复制否则太容易错了。

    #include<bits/stdc++.h>
    using namespace std;
    string tendigit[13] = { "tret","tam","hel","maa","huh","tou","kes","hei","elo","syy","lok","mer","jou" };
    string unitdigit[13] = { "tret","jan","feb","mar","apr","may","jun","jly","aug","sep","oct","nov","dec" };
    string numToString[170];
    map<string, int>stringToNum;
    void init()
    {
        int i,j;
        for (i = 0; i < 13; i++)
        {
            numToString[i] = unitdigit[i];
            stringToNum[unitdigit[i]] = i;
            numToString[13 * i] = tendigit[i];
            stringToNum[tendigit[i]] = 13 * i;
        }
        for (i = 1; i < 13; i++)
        {
            for (j = 1; j < 13; j++)
            {
                int m = 13 * i + j;
                numToString[m] = tendigit[i] + " " + unitdigit[j];
                stringToNum[tendigit[i] + " " + unitdigit[j]] = m;
            }
        }
    }
    int main()
    {
        init();
        int n;
        scanf("%d", &n);
        getchar();
        int i;
        for (i = 0; i < n; i++)
        {
            string str;
            getline(cin, str);
            if (str[0] >= '0'&&str[0] <= '9')
            {
                int m;
                stringstream ss;
                ss << str;
                ss >> m;
                cout << numToString[m] << endl;
            }
            else
            {
                cout << stringToNum[str] << endl;
            }
        }
    }
  • 相关阅读:
    OLEDB SqlHelper
    .net中数据库事务机制
    C#中的@符号
    C#实现WEB服务器
    Snake.Net
    C#在客戶端和服務端操作Excel文件
    数据库连接字符串大全
    获取cpu序列号,硬盘ID,网卡MAC地址
    Asp.net动态生成html页面(、
    document 文挡对象详解
  • 原文地址:https://www.cnblogs.com/legendcong/p/9618450.html
Copyright © 2011-2022 走看看