C++两道笔试题

原创 2015年07月10日 13:45:24
//现给定一个含有n个元素的数组,请随机获取其中的m个元素(不能重复获取)。

#include <iostream>
#include <stdlib.h>
using namespace std;
void Grial(int a[], int n,int x)
{
    int *b = new int[x];
    int k = 0;
    int i = n;
    while (x--)
    {
        int j = rand() % i;
        b[k++] = a[j];
        a[j] = a[i - 1];
        i--;
    }
    for (i=0; i < k; i++)
    {
        cout << b[i] << endl;
    }
}
int main()
{
    int a[] = {1,2,3,4,5,6,7,8,9,10};
    Grial(a,sizeof(a)/sizeof(int),4);
    return 0;
}

//题目描述
//现给定n个物品,其概率分别为P1, P2, P3...Pn,请设计一个接口,根据概率,随机获取一个物品。
#include <iostream>
#include <string.h>
#define _N 6
static flags = 0;
using namespace std;
const char *str[_N]={
                   "物品1", "物品2", "物品3", 
                   "物品4","物品5", "物品6",
                   };
const double a[] = {0.1,0.05,0.05,0.4,0.2,0.2};
int index(int x)
{
    int b[] = { 0,0.1 * 100, (0.1+0.05) * 100, (0.05*2+0.1) * 100, 
                (0.4+0.1+0.1) * 100, (0.2+0.4+0.2) * 100,100 };
    int i = 0;
    for (; i < _N; i++)
    {
        if (b[i] < x && b[i + 1] >= x)
            return i + 1;
    }
    flags = 1;
    return 0;
}
const char *Grial()
{
    return str[index(rand() % 100)];
}
int main()
{
    cout << Grial() << endl;
    return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

C++再论单例模式

#include #include #include std::mutex gmutex; using namespace std;template class Singleton { publ...

C++链表冒泡排序

#include using namespace std; //别问我为什么要写链表的冒泡排序,操蛋操蛋操蛋。 struct Node { int data; Node *next;...

C++智能指针大总结

//最挫的智能指针。 #include using namespace std; template class my_auto_ptr { public: my_auto_ptr(Type* ...

C++关键字大总结

register: 如果有一些变量使用频繁,则为存取变量的值少花一些时间, 可以将该局部变量的值放在CPU的寄存器中,需要时直接从寄存器 中取出参加运算,不必去内存中去存取。由于寄存器的存取速...

C++求解最大子矩阵之和

#include using namespace std; //求最大子矩阵的和。 //将多维数组想象成一维数组求最大的子序列和来计算。 int Grial(int n,int a[]) { ...

SOCKET编程

server.cpp#include #include #include #define PORT 5000 using namespace std; #pragma comment(lib,"...

C++腾讯笔试题

#include using namespace std; //产生任意范围的随机数。 int Grial(int i,int j ) { int x = 0; while (!(x...

C++单链表递归逆序

#include using namespace std; struct Node { int data; Node *next; Node(int d = int()) :...

C++笔试题经典的两个

//实现一个自己版本的string。 #include #include using namespace std;class String { public: String(const c...

C++二叉树笔试题

#include #include #include using namespace std;template struct Node { Node* right; Node* ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)