C++编程限制使用cstdlib时该怎么办

这是一个找出两个输入数据的最大公约数的程序,我的想法是使用辗转相除法作为理论基础完成任务,但是写完之后才发现任务有这么一项要求:
只有以下函数库可以使用
o From iostream: cin.clear(), cin.ignore(), cin.fail()
o From string: getline(), .length(), .size(), [], at(), +=
o From cmath: pow(), abs()
(:з」∠)
不过可以使用自己创建的函数库
所以请问我能用什么方法可以实现这个函数呢?

img

不用cstdlib也可以的,用下面的代码试试:

#include <iostream>
using namespace std;

long gcd(long a, long b)
{
    int r = a % b;
    while (r != 0)
    {
        a = b;
        b = r;
        r = a % b;
    }
    return b;
}
int main()
{
    long m, n;
    while (cin >> m >> n)
    {
        if (cin.fail())
        {
            cin.clear();
            cin.sync();
        }
        else
        {
            cout << gcd(m, n) << endl;
        }
    }
}

不加cstdlib,哪个函数不能用啊?
没明白你的问题,gcd函数你不写出来了吗?

C++的话可以试着用一下 #include<bits/stdc++.h>
有这个头文件就不用写别的头文件了

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632