C 语言基础教程

C 语言流程控制

C 语言函数

C 语言数组

C 语言指针

C 语言字符串

C 语言结构体

C 语言文件

C 其他

C 语言参考手册

C程序交换两个数字

C 语言编程实例大全

在此示例中,您将学习使用两种不同的技术在C语言编程中交换两个数字。

要理解此示例,您应该了解以下C语言编程主题:

使用临时变量交换数字

#include<stdio.h>
int main() {
      double first, second, temp;
      printf("输入第一个数字: ");
      scanf("%lf", &first);
      printf("输入第二个数字: ");
      scanf("%lf", &second);

      //first的值分配给temp
      temp = first;

      // second的值被赋给first
      first = second;

      // temp的值(first的初始值)被赋给second
      second = temp;

      printf("\n交换后,firstNumber = %.2lf\n", first);
      printf("交换后,secondNumber = %.2lf", second);
      return 0;
}

输出结果

输入第一个数字: 56.5
输入第二个数字: 45.8

交换后,firstNumber = 45.80
交换后,secondNumber = 56.50

在上面的程序中,为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);

    // 交换

    // 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;

    printf("交换后, a = %.2lf\n", a);
    printf("交换后, b = %.2lf", b);
    return 0;
}

输出结果

Enter a: 10.25
Enter b: -12.5
交换后, a = -12.50
交换后, b = 10.25

C 语言编程实例大全