利用容器实现字符串的权值

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介:

#include <iostream>

using namespace std;

#include <list>

#include <map>

#include <vector>

#include <fstream>


void getValue(vector<char> &vecc,vector<int> &veci)

{

//    int j;

//    char c[2];

    char cTemp;

    int iTemp;

    ifstream infile1,infile2;//定义文件输出类

    infile1.open("file1.txt");

    infile2.open("file2.txt");

    for (int i=0; i<26; i++) {

        infile1>>cTemp;

        vecc.push_back(cTemp);

        //c[0] = cTemp;

        infile2>>iTemp;

        veci.push_back(iTemp);

        //j = iTemp;

    }

    infile1.close();

    infile2.close();

}


int serch(char c)

{

    //int j;//记录下标

    vector<char> vecc;

    vector<int> veci;

    getValue(vecc, veci);

    map<char, int>maplive;

    for (int i=0;i<vecc.size() ; i++) {

        maplive.insert(pair<char, int>(vecc.at(i),veci.at(i)));

    } //键值对存在map中


    //补充一个空格的map

    maplive.insert(pair<char, int>(' ',0));

    map<char,int>::iterator l_it;

    

    l_it = maplive.find(c);

    return l_it->second;

    

//    return ;

}

int main(int argc, const char * argv[])

{


    char num[26] = {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};

    int val[26];

    for (int i=0; i<26; i++) {

        val[i] = i+1;

    }

    //将数据存储到文件中

    ofstream onfile1,onfile2;//定义输出文件(将数据写入到文件中)

    onfile1.open("file1.txt");//打开一个输入文件file1用来保存26个英文字母

    onfile2.open("file2.txt");//保存1-26数字

    for (int i=0; i<26; i++) {

        onfile1<<num[i]<<' ';

        onfile2<<val[i]<<' ';

    }

    onfile1.close();

    onfile2.close();

    

    

    

    char f1[10];

    do {

        int sum=0;

        char s[50];

        string ss;

        cout<<"请输入要计算的字符串"<<endl;

        cin.getline(s, 40);

        char *p = s;

        int j=strlen(p);

        for (int i=0; i<j; i++){

            sum+=serch(s[i]);

        }

        cout<<s<<":"<<sum<<"%"<<endl;

        cout<<"您还要继续计算吗?(Y/N)";

        //cin>>f>>f;

        cin.getline(f1,10);

    }while('Y' == f1[0]);

    cout<<"欢迎使用!谢谢!"<<endl;

    return 0;

}


利用容器来更改前一天的作业1 - 蓬莱仙羽 - IT达人













本文转自蓬莱仙羽51CTO博客,原文链接: http://blog.51cto.com/dingxiaowei/1366568 ,如需转载请自行联系原作者
相关文章
|
9月前
|
存储 人工智能 Python
[oeasy]python061_如何接收输入_input函数_字符串_str_容器_ 输入输出
本文介绍了Python中如何使用`input()`函数接收用户输入。`input()`函数可以从标准输入流获取字符串,并将其赋值给变量。通过键盘输入的值可以实时赋予变量,实现动态输入。为了更好地理解其用法,文中通过实例演示了如何接收用户输入并存储在变量中,还介绍了`input()`函数的参数`prompt`,用于提供输入提示信息。最后总结了`input()`函数的核心功能及其应用场景。更多内容可参考蓝桥、GitHub和Gitee上的相关教程。
140 0
|
C++ 容器
C++字符串string容器(构造、赋值、拼接、查找、替换、比较、存取、插入、删除、子串)
C++字符串string容器(构造、赋值、拼接、查找、替换、比较、存取、插入、删除、子串)
248 1
|
存储 索引 Python
Python基础 笔记(七) 容器--字符串、列表
Python基础 笔记(七) 容器--字符串、列表
102 4
|
存储 语音技术 Python
语音识别,函数综合案例,黑马ATM,/t/t一个对不齐,用两个/t,数据容器入门,数据容器可以分为列表(list)、元组(tuple)、字符串(str)、集合(set)、字典(dict)
语音识别,函数综合案例,黑马ATM,/t/t一个对不齐,用两个/t,数据容器入门,数据容器可以分为列表(list)、元组(tuple)、字符串(str)、集合(set)、字典(dict)
|
存储 C++ 索引
C++中的string容器及字符串拼接操作讲解
C++中的string容器及字符串拼接操作讲解
607 3
|
存储 算法 C++
c++string容器-字符串比较讲解
c++string容器-字符串比较讲解
823 1
06-数据容器拓展-字符串之间的比较
06-数据容器拓展-字符串之间的比较
06-数据容器(序列列表-元组-字符串)的切片操作
06-数据容器(序列列表-元组-字符串)的切片操作
|
索引 容器
06-数据容器str(字符串)-字符串的下标索引/字符串无法修改/查找字符串下标初始值/字符串的替换/字符串的分割/字符串去除前后空格/统计字符串的数量/字符串的循环遍历/对字符串进行分割
06-数据容器str(字符串)-字符串的下标索引/字符串无法修改/查找字符串下标初始值/字符串的替换/字符串的分割/字符串去除前后空格/统计字符串的数量/字符串的循环遍历/对字符串进行分割
|
存储 索引 Python
【Python】一文带你掌握数据容器之元组,字符串
【Python】一文带你掌握数据容器之元组,字符串
129 0