先出现t=100,再出现t=200,则i加一,如果先出现t=200,再出现t=100,则i减一,

我想问下,有一个变量t,先出现t=100,再出现t=200,则i加一,如果先出现t=200,再出现t=100,则i减一,这种情况怎么实现

  • 把t的两次结果,存入数组 int a[2]; 中
  • 参考如下:
int a[2];
int i;

if (a[0]==100&&a[1]==200)
     i++;

if (a[0]==200&&a[1]==100)
     i--;

如有帮助,欢迎点赞+采纳哈!

可以使用一个flag来记录t的变化情况,当t从100变成200时flag的值为1,当t从200变成100时flag的值为-1。然后每次根据flag的值来更新i即可。

下面是一个简单的C语言示例代码:

#include <stdio.h>

int main() {
    int t = 100;
    int i = 0;
    int flag = 0;

    // 先出现 t = 100
    t = 100;
    if (flag == 1) {
        i++;
    } else if (flag == -1) {
        i--;
    }
    flag = 0;

    // 先出现 t = 200
    t = 200;
    if (flag == 1) {
        i++;
    } else if (flag == -1) {
        i--;
    }
    flag = 1;

    // 再出现 t = 100
    t = 100;
    if (flag == 1) {
        i++;
    } else if (flag == -1) {
        i--;
    }
    flag = -1;

    // 输出最终结果
    printf("i = %d\n", i);
    return 0;
}

在上面的代码中,我们使用flag来记录t的变化情况,当t从100变成200时flag的值为1,当t从200变成100时flag的值为-1。然后根据flag的值来更新i的值,最终输出i的结果。

你可以使用一个变量 previous_t 来记录上一次出现的 t 的值,然后在新的 t 值出现时,与上一次的 t 值进行比较,从而确定是否需要对 i 进行加一或减一的操作。

具体的实现代码如下:

int i = 0;
int previous_t = -1;  // 初始化为-1,表示第一次出现t的值

// ...

int t = 100;   // 假设t的值为100

if (t == previous_t) {
    // 如果当前的t值与上一次的t值相同,不做任何操作
} else if (t == 100 && previous_t == 200) {
    // 如果先出现t=200,再出现t=100,则i减一
    i--;
} else if (t == 200 && previous_t == 100) {
    // 如果先出现t=100,再出现t=200,则i加一
    i++;
}

previous_t = t;  // 记录当前的t值为上一次的t值