c++关于指针的编程题
时间: 2023-11-03 20:09:38 浏览: 266
c语言关于指针
1. 编写一个函数,交换两个整型变量的值,要求使用指针实现。
```c
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
```
2. 编写一个函数,求出一个整型数组中的最大值和最小值,要求使用指针实现。
```c
void get_max_min(int *arr, int len, int *max, int *min) {
*max = arr[0];
*min = arr[0];
for (int i = 1; i < len; i++) {
if (arr[i] > *max) {
*max = arr[i];
}
if (arr[i] < *min) {
*min = arr[i];
}
}
}
```
3. 编写一个函数,将一个字符串中的大写字母转换为小写字母,要求使用指针实现。
```c
void to_lower(char *str) {
while (*str != '\0') {
if (*str >= 'A' && *str <= 'Z') {
*str += 32;
}
str++;
}
}
```
4. 编写一个函数,将一个整型数组中的所有元素按照从小到大的顺序排序,要求使用指针实现。
```c
void sort(int *arr, int len) {
for (int i = 0; i < len - 1; i++) {
for (int j = 0; j < len - 1 - i; j++) {
if (*(arr + j) > *(arr + j + 1)) {
int temp = *(arr + j);
*(arr + j) = *(arr + j + 1);
*(arr + j + 1) = temp;
}
}
}
}
```
5. 编写一个函数,将一个整型数组中的所有偶数放在数组的前面,所有奇数放在数组的后面,要求使用指针实现。
```c
void sort(int *arr, int len) {
int i = 0, j = len - 1;
while (i < j) {
while (*(arr + i) % 2 == 0 && i < j) {
i++;
}
while (*(arr + j) % 2 == 1 && i < j) {
j--;
}
if (i < j) {
int temp = *(arr + i);
*(arr + i) = *(arr + j);
*(arr + j) = temp;
}
}
}
```
阅读全文