c语言编写一个程序,实现对俩个整数值得交换
时间: 2024-03-26 09:42:31 浏览: 55
好的,以下是 C 语言的代码实现:
```c
#include <stdio.h>
int main() {
int a = 5, b = 8, temp;
printf("交换前:a = %d, b = %d\n", a, b);
temp = a;
a = b;
b = temp;
printf("交换后:a = %d, b = %d\n", a, b);
return 0;
}
```
输出结果如下:
```
交换前:a = 5, b = 8
交换后:a = 8, b = 5
```
这段代码中,我们先定义了两个整数变量 a 和 b,并且初始化为 5 和 8。然后通过一个临时变量 temp 来实现它们的交换,最后输出交换后的结果。
相关问题
用C语言编写一个程序,实现对整数的排序
在 C 语言中,可以使用以下代码实现整数的排序:
```
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
void sort(int arr[], int n) {
int i, j;
for (i = 0; i < n-1; i++) {
for (j = 0; j < n-i-1; j++) {
if (arr[j] > arr[j+1]) {
swap(&arr[j], &arr[j+1]);
}
}
}
}
int main() {
int arr[] = {64, 34, 25, 12, 22, 11, 90};
int n = sizeof(arr)/sizeof(arr[0]);
sort(arr, n);
printf("排序后的数组:\n");
for (int i=0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
这是一个冒泡排序的实现,它比较相邻的元素并交换它们的位置,从而使最大/小的元素沉沙到数组的底部/顶部。在此代码中,我们使用了冒泡排序算法,该算法的时间复杂度为 O(n^2),因此,它不适用于大型数组。
如何用C语言编写一个程序来实现整数序列的递减排序?
在C语言中,你可以使用选择排序算法来实现整数序列的递减排序。选择排序的基本思想是每次从未排序的部分找到最大的元素,并将其放到已排序部分的末尾。以下是递减选择排序的一个简单示例:
```c
#include <stdio.h>
void swap(int *xp, int *yp) {
int temp = *xp;
*xp = *yp;
*yp = temp;
}
void selectionSortDecending(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
int maxIndex = i; // 初始化最大值索引为当前遍历位置
// 遍历剩余未排序部分寻找最大值
for (int j = i + 1; j < n; j++) {
if (arr[j] > arr[maxIndex]) { // 如果当前元素大于最大值,则更新最大值索引
maxIndex = j;
}
}
// 将找到的最大值与未排序部分的第一个元素交换
swap(&arr[i], &arr[maxIndex]);
}
}
int main() {
int arr[] = {5, 8, 1, 9, 3};
int n = sizeof(arr) / sizeof(arr[0]);
printf("Original array:\n");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
selectionSortDecending(arr, n);
printf("\nSorted array in descending order:\n");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
这个程序首先定义了一个`swap`函数用于交换两个元素,然后在`selectionSortDecending`函数中实现了递减的选择排序。运行程序会看到输入数组按降序排列的结果。
阅读全文