帮我用C语言写一个程序:随机生成20以内的10个元素,存放在数组a[10]中,并把这10个数打印输出在屏幕上,每行输出5个数
时间: 2024-02-11 16:05:38 浏览: 134
好的,以下是代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int a[10], i;
srand(time(NULL)); // 设置随机数种子
// 随机生成10个20以内的整数并存入数组
for (i = 0; i < 10; i++) {
a[i] = rand() % 20 + 1;
}
// 输出数组中的元素,每行输出5个数
for (i = 0; i < 10; i++) {
printf("%d ", a[i]);
if ((i + 1) % 5 == 0) {
printf("\n");
}
}
return 0;
}
```
注意:生成随机数需要使用 `srand()` 函数设置随机数种子,以保证每次运行生成的随机数不同。同时,为了方便每行输出5个数,可以在输出第5个数时换行。
相关问题
用C语言写一个程序:将一个整形数组逆序存放后并输出。
好的,这个问题我可以回答。以下是用 C 语言实现将整型数组逆序存放后输出的代码:
```c
#include <stdio.h>
void reverse(int arr[], int len); // 函数声明
int main()
{
int arr[] = {1, 2, 3, 4, 5};
int len = sizeof(arr) / sizeof(int);
reverse(arr, len);
for (int i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
// 函数定义
void reverse(int arr[], int len)
{
int i, j, temp;
for(i = 0,j=len-1;i<j;i++,j--)
{
temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
```
在这个代码中,我们首先定义了一个 `reverse()` 函数,该函数会将传入的整型数组逆序存放。然后在主函数中定义了一个整型数组 `arr`,并计算出该数组的长度 `len`。我们调用 `reverse()` 函数将 `arr` 中的元素逆序排列,最后输出逆序排列后的数组。
随机生成10个整数,存放在一维数组中,找出值最大的元素,并从数组中删除该元素。用c语言
以下是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define ARRAY_SIZE 10
int main() {
int arr[ARRAY_SIZE];
srand(time(NULL)); // 初始化随机数生成器
// 随机生成10个整数
printf("生成的随机数为:\n");
for (int i = 0; i < ARRAY_SIZE; i++) {
arr[i] = rand() % 100; // 生成0-99之间的随机整数
printf("%d ", arr[i]);
}
// 找出最大值
int max_index = 0;
for (int i = 1; i < ARRAY_SIZE; i++) {
if (arr[i] > arr[max_index]) {
max_index = i;
}
}
// 输出最大值并删除该元素
printf("\n最大值为:%d\n", arr[max_index]);
for (int i = max_index; i < ARRAY_SIZE - 1; i++) {
arr[i] = arr[i + 1];
}
// 输出删除最大值后的数组
printf("删除最大值后的数组为:\n");
for (int i = 0; i < ARRAY_SIZE - 1; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
该代码使用了`rand()`函数来生成随机数,并通过`srand()`函数进行了初始化。程序先输出了生成的随机数,并找出了最大值的下标。接着,使用了一个循环来删除最大值,将后面的元素往前移动一个位置。最后,输出删除最大值后的数组。