C 尝试交换四个数字,但输出结果为87 2次
我试图交换四个数字,但得到了87 2倍的输出 代码C 尝试交换四个数字,但输出结果为87 2次,c,C,我试图交换四个数字,但得到了87 2倍的输出 代码 #include <stdio.h> int main() { int n1, n2, n3, n4, n5; printf("Enter 4 Numbers: "); scanf("%d %d %d %d", &n1, &n2, &n3, &n4); if ((n1 >= 72 && n1 <=
#include <stdio.h>
int main()
{
int n1, n2, n3, n4, n5;
printf("Enter 4 Numbers: ");
scanf("%d %d %d %d", &n1, &n2, &n3, &n4);
if ((n1 >= 72 && n1 <= 820) &&
(n2 >= 72 && n2 <= 820) &&
(n3 >= 72 && n3 <= 820) &&
(n4 >= 72 && n4 <= 820))
n4 = n1;
n1 = n2;
n2 = n3;
n3 = n4;
printf("\nAfter Interchanging n1, n2, n3 and n4 are %d %d %d %d", n1, n2, n3, n4);
return 0;
}
n4=n1代码>擦除n4
的原始值。您需要使用另一个变量暂时保存该值。另外,您似乎忘记在if
语句之后添加{}
#include <stdio.h>
int main() {
int n1, n2, n3, n4 ,n5;
printf ("Enter 4 Numbers: ");
scanf ("%d %d %d %d", &n1, &n2, &n3, &n4);
if ((n1>=72 && n1<=820) && (n2>=72 && n2<=820)
&& (n3>=72 && n3<=820) && (n4>=72 && n4<=820)) {
int t = n4;
n4 = n1;
n1 = n2;
n2 = n3;
n3 = t;
}
printf ("\nAfter Interchanging n1, n2, n3 and n4 are %d %d %d %d" \
,n1, n2, n3, n4);
return 0;
}
应该是:
int t = n3;
n3 = n1;
n1 = n2;
n2 = t;
n4=n1代码>擦除n4
的原始值。您需要使用另一个变量暂时保存该值。另外,您似乎忘记在if
语句之后添加{}
#include <stdio.h>
int main() {
int n1, n2, n3, n4 ,n5;
printf ("Enter 4 Numbers: ");
scanf ("%d %d %d %d", &n1, &n2, &n3, &n4);
if ((n1>=72 && n1<=820) && (n2>=72 && n2<=820)
&& (n3>=72 && n3<=820) && (n4>=72 && n4<=820)) {
int t = n4;
n4 = n1;
n1 = n2;
n2 = n3;
n3 = t;
}
printf ("\nAfter Interchanging n1, n2, n3 and n4 are %d %d %d %d" \
,n1, n2, n3, n4);
return 0;
}
应该是:
int t = n3;
n3 = n1;
n1 = n2;
n2 = t;
确切的预期输出是什么?n3=n4=original-n1
似乎是个问题。请看第一个和第四个赋值操作。这就是他们最终要做的。只有n4=n1
实际位于if块中。适当的缩进将立即揭示这一点。您是否打算在if
块中包含4条赋值语句?@yano 98 90 87 76n1=n2;n2=n3;n3=n4代码>不在if
块中。确切的预期输出是什么?n3=n4=original-n1
似乎是故障。请看第一个和第四个赋值操作。这就是他们最终要做的。只有n4=n1
实际位于if块中。适当的缩进将立即揭示这一点。您是否打算在if
块中包含4条赋值语句?@yano 98 90 87 76n1=n2;n2=n3;n3=n4代码>不在if
块中。