#include<iostream>
using namespace std;
#include<vector> //模板类
#include<algorithm> //sort
class Zx {
public:
bool Sun(vector<int>& nums) {
sort(nums.begin(), nums.end()); //排序,快速排序法,对nums数组进行升序排序
int count = 0;
for (int i = 0; i < 5; ++i) //计算数字中0的个数
{
if (nums[i] == 0)
{
count++; //个数增加
}
}
if (count > 0) //判断0的个数是否大于1
{
//如果有重复的牌或者两张牌的差值大于0的个数,返回false
for (int j = count; j < 4; ++j)
{
if (nums[j] == nums[j + 1] || nums[j + 1] - nums[j] > count + 1)
return false;
}
}
else
{
for (int j = 0; j < 4; ++j)
{
//两张牌相差的值不等于1,返回false
if (nums[j + 1] - nums[j] != 1)
return false;
}
}
return true; //否则返回true
}
};
int main() {
cout << "请输入五个任意数字:" << endl;
int number = 0;
vector<int> ivec; //int 数组初始化 ivec
while (cin >> number)
{
ivec.push_back(number); //移除最后一个元素
}
cout << "结果(1 为是顺子,0 为不是顺子)" << Zx().Sun(ivec) << endl;
}
他这个为什么需要输入Ctrl+z 才可以输出结果,代码中也没有看见显示。