首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用c++检查答案集?

如何使用c++检查答案集?
EN

Stack Overflow用户
提问于 2019-11-03 00:38:59
回答 3查看 689关注 0票数 0

我是一个c++初学者。我只想检查学生对一组答案的答案。假设我有一个学生,并像这样声明:

代码语言:javascript
复制
//Declare and array of student answers;
string student1 [] = {"A", "B", "C", "A", "B","C","A","B","A","A"};

答案关键字声明如下:

代码语言:javascript
复制
//Declare an array set of answer key
string keys [] = {"A", "B", "C", "A", "B","C","A","B","A","A"};

假设答案是从1到10的正确答案。然后我想检查学生的答案是否与声明的答案匹配:

代码语言:javascript
复制
for(const string &key : keys){
    for(const string &answer : answers){
        if(key == answer){
            cout << "Correct" << endl;
        }else{
            cout << "Wrong" << endl;
        }
    }
}

我的第一个问题是,它给了我以下结果:

代码语言:javascript
复制
Correct                                                                                                                                                
Correct                                                                                                                                                
Correct                                                                                                                                                
Correct                                                                                                                                                
Correct                                                                                                                                                
Correct                                                                                                                                                
Correct                                                                                                                                                
Correct                                                                                                                                                
Correct                                                                                                                                                
Correct                                                                                                                                                
Correct                                                                                                                                                
Correct                                                                                                                                                
Correct                                                                                                                                                
Correct                                                                                                                                                
Correct                                                                                                                                                
Correct                                                                                                                                                
Correct                                                                                                                                                
Correct                                                                                                                                                
Correct                                                                                                                                                
Correct                                                                                                                                                
Correct                                                                                                                                                
Correct                                                                                                                                                
Correct                                                                                                                                                
Correct                                                                                                                                                
Correct 

第二个问题是,我想再增加5个学生来检查他们的答案。谢谢。

EN

Stack Overflow用户

发布于 2019-11-03 04:27:58

您可以使用for循环来实现这一点,其他人已经展示了这一点,但是您也可以使用std::transform和lambda来实现这一点,只是为了好玩。

代码语言:javascript
复制
#include <algorithm>
[...]
std::vector<string> correctness;
std::transform(student1,student1+10,keys,std::back_inserter(v),[](const string& a,const string& b){if (a==b) return "Correct"; else return "Wrong";});
for (const auto& ans : correctness) std::cout << ans << endl;
票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58673099

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档