在没有数组的情况下更新最后 3 个值?
update last 3 value without an array?
我要写一个程序。
我得到无限数量的用户输入和 3 个变量 f_value , s_value, t_value
逻辑是:
如果输入与 f_value
不匹配,则必须将其存储在 f_value
中,与 s_value and t_value
.
相同
变量应该有不同的输入值如果值相同则必须跳过。
例如
Input Value:
100
100
102
102
102
102
102
105
105
那么输出应该
f_value 105
s_value 102
t_value 100
这应该没有数组
我试试这个代码:
#include <stdio.h>
int main()
{
int number=0 f_value=0, s_value = 0, t_value = 0;
while (1) {
printf("-> ");
scanf("%d", &number)
if(t_value != s_value){
t_value = s_value;
}
if(s_value != f_value){
s_value = f_value;
}
if (number != f_value){
f_value = number;
}
printf("f_value %d\n",f_value);
printf("s_value %d\n",s_value);
printf("t_value %d\n",t_value);
}
return 0;
}
但没有得到想要的输出。
谢谢你
第三个 if 语句应该是第一个。
根据您的描述,F、S 和 T 将始终具有相同的值。
最初它们都是零。第一个输入是 100,它与 F 不匹配,所以我们让 F=100。 "Same for S and T" 所以结果是一样的; S=T=100.
下一个输入是匹配的 100,所以没有变化。
下一个输入是102,与F不匹配,所以我们设置F=102。同样 "same for S and T" 所以 S=T=102。所以我们从运行前三个输入可以看出,不管输入什么,根据你的描述一直都是F=S=T。
那么在 F、S 和 T 具有不同值的情况下,您如何准确地得到建议的输出?
我要写一个程序。
我得到无限数量的用户输入和 3 个变量 f_value , s_value, t_value
逻辑是:
如果输入与 f_value
不匹配,则必须将其存储在 f_value
中,与 s_value and t_value
.
变量应该有不同的输入值如果值相同则必须跳过。 例如
Input Value:
100
100
102
102
102
102
102
105
105
那么输出应该
f_value 105
s_value 102
t_value 100
这应该没有数组
我试试这个代码:
#include <stdio.h>
int main()
{
int number=0 f_value=0, s_value = 0, t_value = 0;
while (1) {
printf("-> ");
scanf("%d", &number)
if(t_value != s_value){
t_value = s_value;
}
if(s_value != f_value){
s_value = f_value;
}
if (number != f_value){
f_value = number;
}
printf("f_value %d\n",f_value);
printf("s_value %d\n",s_value);
printf("t_value %d\n",t_value);
}
return 0;
}
但没有得到想要的输出。
谢谢你
第三个 if 语句应该是第一个。
根据您的描述,F、S 和 T 将始终具有相同的值。
最初它们都是零。第一个输入是 100,它与 F 不匹配,所以我们让 F=100。 "Same for S and T" 所以结果是一样的; S=T=100.
下一个输入是匹配的 100,所以没有变化。
下一个输入是102,与F不匹配,所以我们设置F=102。同样 "same for S and T" 所以 S=T=102。所以我们从运行前三个输入可以看出,不管输入什么,根据你的描述一直都是F=S=T。
那么在 F、S 和 T 具有不同值的情况下,您如何准确地得到建议的输出?