使用临时变量交换数字
#include<stdio.h> int main() { double first, second, temp; printf("Enter first number: "); scanf("%lf", &first); printf("Enter second number: "); scanf("%lf", &second); // value of first is assigned to temp temp = first; // value of second is assigned to first first = second; // value of temp (initial value of first) is assigned to second second = temp; // %.2lf displays number up to 2 decimal points printf("\nAfter swapping, first number = %.2lf\n", first); printf("After swapping, second number = %.2lf", second); return 0; }
输出
Enter first number: 1.20 Enter second number: 2.45 After swapping, first number = 2.45 After swapping, second number = 1.20
在上面的程序中,
temp 变量被赋值为
first 变量的值。
然后,将
first 变量的值分配给
second 变量。
最后,
temp(保存了
first 的初始值)被分配给
second。这样就完成了交换过程。
不使用临时变量交换数字
#include <stdio.h> int main() { double a, b; printf("Enter a: "); scanf("%lf", &a); printf("Enter b: "); scanf("%lf", &b); // swapping // a = (initial_a-initial_b) a = a-b; // b = (initial_a-initial_b) + initial_b = initial_a b = a + b; // a = initial_a-(initial_a-initial_b) = initial_b a = b-a; // %.2lf displays numbers up to 2 decimal places printf("After swapping, a = %.2lf\n", a); printf("After swapping, b = %.2lf", b); return 0; }
输出
Enter a: 10.25 Enter b:-12.5 After swapping, a =-12.50 After swapping, b = 10.25