我想问下,有一个变量t,先出现t=100,再出现t=200,则i加一,如果先出现t=200,再出现t=100,则i减一,这种情况怎么实现
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值