定义一个整型指针pn,为其申请20个整数的空间,然后通过随机函数为其赋值,值的范围控制在20-80范围内。再对这20个整数升序排列后输出。
时间: 2023-02-14 13:29:55 浏览: 43
定义一个整型指针pn,可以使用下面的语句:
```
int *pn;
```
然后申请20个整数的空间:
```
pn = (int*) malloc(20 * sizeof(int));
```
然后使用随机函数为整型指针赋值,可以使用一个循环来遍历这20个整数,并用随机函数rand()为每个整数赋值,注意这里的赋值范围需要控制在20-80之间:
```
srand(time(NULL));
for (int i = 0; i < 20; i++) {
pn[i] = 20 + rand() % 61;
}
```
接着进行升序排列,你可以使用STL库中的sort函数来实现,
```
sort(pn,pn+20);
```
最后使用一个循环输出:
```
for (int i = 0; i < 20; i++) {
printf("%d ", pn[i]);
}
```
记得最后释放内存
```
free(pn);
```
相关问题
定义一个整型指针,为其分配20个整数的空间,然后通过随机函数给这20个整数空间赋值,然后使用选择排序对这20个整数进行降序排列,并输出排序前后的结果。
定义一个整型指针,为其分配20个整数的空间,然后通过随机函数给这20个整数空间赋值,然后使用选择排序对这20个整数进行降序排列,并输出排序前后的结果。
代码如下:
```c++
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
void selectionSort(int arr[], int n) {
for (int i = ; 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 = new int[20];
srand(time(NULL));
for (int i = ; i < 20; i++) {
arr[i] = rand() % 100;
cout << arr[i] << " ";
}
cout << endl;
selectionSort(arr, 20);
for (int i = ; i < 20; i++) {
cout << arr[i] << " ";
}
cout << endl;
delete[] arr;
return ;
}
```
运行结果:
```
25 87 4 62 58 70 94 29 98 45 51 56 22 89 19 46 80 18 31 4
98 94 89 87 80 70 62 58 51 46 45 31 29 25 22 19 18 4 4
```
使用malloc函数为指针分配n个整型内存空间,随机赋值n个两位整数,并将这n个整数中的素数全部输出。
可以使用以下代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
// 判断一个数是否为素数
int is_prime(int num) {
if (num <= 1) {
return 0;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int n;
printf("请输入要生成的随机数个数:");
scanf("%d", &n);
// 为指针分配内存空间
int *arr = (int *) malloc(n * sizeof(int));
// 随机赋值
srand(time(NULL));
for (int i = 0; i < n; i++) {
arr[i] = rand() % 90 + 10; // 生成两位整数
}
// 输出素数
printf("生成的随机数中的素数为:");
for (int i = 0; i < n; i++) {
if (is_prime(arr[i])) {
printf("%d ", arr[i]);
}
}
printf("\n");
// 释放内存空间
free(arr);
return 0;
}
```
程序运行时会先让用户输入要生成的随机数个数,然后使用 `malloc` 函数为指针分配内存空间,随机赋值两位整数,最后输出其中的素数。注意,程序结束时需要使用 `free` 函数释放内存空间。
相关推荐
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)