如何检查多个变量是否包含简单序列

时间:2019-04-04 16:50:01

标签: c

我有5个整数变量,分别名为x_1x_2x_3x_4x_5

int x_1, x_2, x_3, x_4, x_5;

我正在用srand()初始化这些变量的值。

srand(time(NULL));
x_1=rand()%10+1; x_2=rand()%10+1;
...

我需要检查这些变量是否包含一个升序序列(如扑克中的顺子)。顺序没关系。

例如:

x_1=3, x_2=5, x_3=1, x_4=2 x_5=4.

这应该给我1。但是应该给我0:

x_1=4, x_2=1, x_3=4 …

(我没有完成列表,因为我已经有多个4。)

注意:我不能使用数组和全局变量。

注意:很抱歉,我什至不知道从哪里开始,所以无法发送完整的代码。

1 个答案:

答案 0 :(得分:0)

根据我所见,您不能重复。
可以从任何数字开始。数字可以是任何顺序。
如果排序的数字会产生安全感。例如:1、2、3、4、5或4、5、6、7、8。
如果是指定的任务,那么:

  1. 检查重复项:

    if(count_how_many_exist(x_1, x_1, x_2...) != 1){//error duplicates} if(count_(x_2,x_1,x_2,...)... //Function code int count_(int search,...){ int result =0; if(search == x_1)result += 1; //... return result; }

  2. 从最小的数字开始搜索是否存在该数字4次。

    int small = x_1; if(small > x_2)small = x_2; //... if(count_(small+1, x_1,...) != 1)//error if(count_(small+2... ... if(count_(small+4...