注册 登录
编程论坛 C++教室

代码来找茬!

return_0 发布于 2020-02-26 12:31, 2452 次点击
最近太无聊了,带大家玩个小游戏,比对上下两个代码,找到三处不同处,最先找到者获10专家分,总共30分,大家加油!
代码1:
程序代码:

#include<iostream>
#include<stack>
using namespace std;
stack<int>card;
bool flags[10010] = {false};
void get(int n){
    if (flags[n] == false) {
        card.push(n);
        flags[n] = true;
    }
    else return;
}
int main() {
    int n, t;
    cin >> n;
    for (int i = 0; i < n; i++) {
        cin >> t;
        get(t);
    }
    for (int i = 0; i < card.size(); i++) {
        cout << card.top() << " ";
        card.pop();
    }
    return 0;
}

代码2:
程序代码:

#include<istream>
#include<stack>
using namespace std;
stack<int>cards;
bool flags[10010] = {false};
void get(int n){
    if (flags[n] == false) {
        card.push(n);
        flags[n] = true;
    }
    else return;
}
int main() {
    int n, t;
    cin >> n;
    for (int i = 0; i < n; i++) {
        cin >> t;
        get(i);
    }
    for (int i = 0; i < card.size(); i++) {
        cout << card.top() << " ";
        card.pop();
    }
    return 0;
}
14 回复
#2
return_02020-02-26 12:35
代码2可能会出错,但是没关系,仔细
#3
林月儿2020-02-26 12:44
card,cards
get(i),get(t)
#4
林月儿2020-02-26 12:46
第一行库函数
#5
叶纤2020-02-26 12:48
程序代码:

以下是引用return_0在2020-2-26 12:31:21的发言:

最近太无聊了,带大家玩个小游戏,比对上下两个代码,找到三处不同处,最先找到者获10专家分,总共30分,大家加油!
代码1:

#include<iostream>
#include<stack>
using namespace std;
stack<int>card;
bool flags[10010] = {false};
void get(int n){
    if (flags[n] == false) {
        card.push(n);
        flags[n] = true;
    }
    else return;
}
int main() {
    int n, t;
    cin >> n;
    for (int i = 0; i < n; i++) {
        cin >> t;
        get(t);
    }
    for (int i = 0; i < card.size(); i++) {
        cout << card.top() << " ";
        card.pop();
    }
    return 0;
}

代码2:

#include<istream>//这iostream
#include<stack>
using namespace std;
stack<int>cards;//这cards
bool flags[10010] = {false};
void get(int n){
    if (flags[n] == false) {
        card.push(n);
        flags[n] = true;
    }
    else return;
}
int main() {
    int n, t;
    cin >> n;
    for (int i = 0; i < n; i++) {
        cin >> t;
        get(i);//这get(t)
    }
    for (int i = 0; i < card.size(); i++) {
        cout << card.top() << " ";
        card.pop();
    }
    return 0;
}
无聊




#6
叶纤2020-02-26 12:50
还有别玩这么无聊的游戏,对自己一点好处都没有,如果无聊可以做这题
https://bbs.bccn.net/thread-469320-1-1.html

[此贴子已经被作者于2020-2-26 12:54编辑过]

#7
叶纤2020-02-26 12:55
常见水题,若有可能,会陆续补充
反正我没事就会写写
题目1:找出缺少的一个数(极易)
一个长度为 n 的整数数组,其中每个元素都大于等于0且小于等于n,且无重复,请找出“大于等于0且小于等于n”但不在此数组中的那一个数。
例如给出 { 5, 0, 2, 1, 4 },则输出 3
 
题目2:找出缺少的两个数(中等)
一个长度为 n 的整数数组,其中每个元素都大于等于0且小于等于n+1,且无重复,请找出“大于等于0且小于等于n+1”但不在此数组中的那两个数。
例如给出 { 5, 0, 2, 1 },则输出 3, 4
 
题目3:找出重复的一个数(极难)
一个长度为 n 的整数数组,其中每个元素都大于等于0且小于等于n-1,有一个数重复出现了两次或更多次,请找出此数。
例如给出 { 1, 0, 4, 3, 4, 4 },则输出 4
原题:https://
 
题目4:找不重复出现的数(容易)
一个长度为 2*k+1 的整数数组,其中k个整数出现了2次,1个整数出现了1次,找出出现1次的那个整数。
例如给出 { 9, 5, 5, 9, 7, 1, 1 },则输出 7
 
题目5:找重复两次的数(中等)
一个长度为 4*k+2 的整数数组,其中k个整数出现了4次,1个整数出现了2次,找出出现2次的那个整数。
例如给出 { 9, 5, 5, 9, 9, 5, 5, 9, 7, 1, 7, 1, 1, 1 },则输出 7
#8
return_02020-02-26 12:56
恭喜恭喜
#9
return_02020-02-26 12:57
我无聊
#10
return_02020-02-26 12:58
回复 6楼 叶纤
对不起哦,分不够了,鲜花补偿!
#11
叶纤2020-02-26 13:05
  无聊就做题啊
#12
return_02020-02-26 16:43
我以后在搞一个小游戏吧:水题竞答
#13
return_02020-02-26 19:50
恭喜发财
#14
gui在坚持2020-02-27 10:52
iostream istream  card    cards  get(i)  get(t)
#15
return_02020-02-27 11:15
回复 14楼 gui在坚持
已经过期了
1