在C语言输入两个整数,交换两个整数输出
时间: 2024-10-14 10:12:39 浏览: 37
在C语言中,我们可以使用一个临时变量来交换两个整数的值。下面是一个简单的示例程序:
```c
#include <stdio.h>
// 定义函数用于交换两个整数
void swap(int* a, int* b) {
int temp = *a; // 存储第一个整数
*a = *b; // 将第二个整数赋给第一个
*b = temp; // 将存储的临时值赋给第二个
}
int main() {
int num1, num2;
printf("请输入两个整数: ");
scanf("%d %d", &num1, &num2); // 输入两个整数
// 调用swap函数交换num1和num2的值
swap(&num1, &num2);
printf("交换后的结果: num1 = %d, num2 = %d\n", num1, num2);
return 0;
}
```
在这个程序中,`swap`函数接受两个整数指针作为参数,通过临时变量实现了两个变量的值交换。运行`main`函数后,用户可以输入两个整数,然后这两个数就会被交换并显示出来。
相关问题
c语言输入两个整数,交换后输出
在C语言中,交换两个整数的经典方法是不需要额外的临时变量,通过算术运算完成。以下是简单的步骤:
```c
#include <stdio.h>
void swap(int* a, int* b) {
// 两个指针指向的值相加减,然后各自赋值给对方
*a = *a + *b; // a = a + b
*b = *a - *b; // b = (a + b) - b = a
*a = *a - *b; // a = a - b,此时a就是原来的b值
}
int main() {
int num1, num2;
printf("请输入第一个整数: ");
scanf("%d", &num1);
printf("请输入第二个整数: ");
scanf("%d", &num2);
printf("交换前:num1 = %d, num2 = %d\n", num1, num2);
swap(&num1, &num2); // 调用swap函数并传入地址
printf("交换后:num1 = %d, num2 = %d\n", num1, num2);
return 0;
}
```
在这个程序里,`swap`函数接受两个整数的地址作为参数,通过它们的内存地址直接修改了原始的数值。
用c语言输入10个整数交换最大值和最小值的位置,然后输出这10个整数
在C语言中,我们可以使用数组来存储10个整数,并通过比较找到其中的最大值和最小值。这里是一个简单的示例程序,演示如何交换它们的位置:
```c
#include <stdio.h>
// 函数声明用于交换两个整数
void swap(int *a, int *b);
int main() {
int numbers[10];
int i;
// 输入10个整数
for (i = 0; i < 10; ++i) {
printf("请输入第 %d 个整数: ", i + 1);
scanf("%d", &numbers[i]);
}
// 找到最大值和最小值的索引
int max_index = 0, min_index = 0;
for (i = 1; i < 10; ++i) {
if (numbers[i] > numbers[max_index]) {
max_index = i;
} else if (numbers[i] < numbers[min_index]) {
min_index = i;
}
}
// 交换最大值和最小值
swap(&numbers[max_index], &numbers[min_index]);
// 输出处理后的数组
printf("交换后数组:\n");
for (i = 0; i < 10; ++i) {
printf("%d ", numbers[i]);
}
printf("\n");
return 0;
}
// 交换两个整数的函数
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
```
运行这个程序后,它会提示用户输入10个整数,然后找出并交换最大值和最小值,最后打印出处理后的数组。
阅读全文