定义一个数组,生成10个1~100之间的随机整数。 (1)输出该数组的全部整数。 (2)将该数组进行转置,然后输出。假设某数组是36 56 89,转置后为89 56 36。
时间: 2024-10-28 20:12:25 浏览: 100
在C语言中,我们可以使用`stdlib.h`库中的`srand()`和`rand()`函数生成随机数,以及`stdio.h`库中的`printf()`函数来输出数组的内容。以下是如何定义数组并实现这两个功能的示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h> // 时间戳用于初始化随机数种子
#define SIZE 10
// 生成并存储随机整数的函数
void generate_random_array(int arr[SIZE]) {
srand(time(0)); // 初始化随机数种子
for (int i = 0; i < SIZE; i++) {
arr[i] = rand() % 100 + 1; // 随机数范围1到100
}
}
// 输出数组元素
void print_array(const int arr[], int size) {
printf("原始数组:\n");
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
// 数组转置函数
void transpose(int src[SIZE][SIZE], int dest[SIZE][SIZE]) {
int row, col;
for (row = 0; row < SIZE; row++) {
for (col = 0; col < row; col++) {
int temp = src[row][col];
src[row][col] = src[col][row]; // 交换行和列的位置
src[col][row] = temp;
}
}
}
// 打印转置后的数组
void print_transposed_array(int arr[SIZE][SIZE]) {
printf("转置后的数组:\n");
for (int i = 0; i < SIZE; i++) {
for (int j = 0; j < SIZE; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
}
int main() {
int original[SIZE], transposed[SIZE][SIZE];
// 生成并打印原始数组
generate_random_array(original);
print_array(original, SIZE);
// 转置数组
transpose(original, transposed);
// 输出转置后的数组
print_transposed_array(transposed);
return 0;
}
```
在这个程序中,我们首先定义了一个大小为10的二维数组`transposed`来保存转置后的结果。然后我们创建了两个辅助函数`generate_random_array`和`transpose`分别用来生成随机数组和转置数组。`main`函数中调用这两个函数并分别输出数组。
运行这段代码后,你会看到原始数组和其转置后的数组。如果需要更多帮助,请告诉我!
阅读全文
相关推荐


















