c语言*把随机生成的数组成员中小于零的数字放到一个新数组ns中*/
时间: 2024-10-14 20:14:10 浏览: 4
在C语言中,你可以使用`<stdlib.h>`库中的`rand()`函数和`<time.h>`库中的`srand()`函数来生成随机数,并通过遍历数组来找出小于零的元素。下面是一个简单的示例程序,展示了如何将满足条件的元素放入新数组`ns`:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define ARRAY_SIZE 10
#define NEW_ARRAY_SIZE 5
void filter_negatives(int arr[ARRAY_SIZE], int ns[NEW_ARRAY_SIZE]) {
int count = 0; // 记录负数的数量
for (int i = 0; i < ARRAY_SIZE; i++) {
if (arr[i] < 0) { // 检查当前元素是否为负数
ns[count++] = arr[i]; // 如果是,添加到新数组
// 由于我们不确定有多少个负数,这里假设最多放5个,所以count不能超过NEW_ARRAY_SIZE
if (count == NEW_ARRAY_SIZE) {
break;
}
}
}
ns[count] = '\0'; // 新数组结束标记,如果没有填满,最后一个位置留空
}
int main() {
srand(time(0)); // 设置随机种子,保证每次运行结果不同
int arr[ARRAY_SIZE];
for (int i = 0; i < ARRAY_SIZE; i++) {
arr[i] = rand() % 100; // 随机生成0-99的整数
}
int ns[NEW_ARRAY_SIZE];
filter_negatives(arr, ns);
printf("Original array:\n");
for (int i = 0; i < ARRAY_SIZE; i++) {
printf("%d ", arr[i]);
}
printf("\nNegative numbers in new array:\n");
for (int i = 0; ns[i] != '\0'; i++) {
printf("%d ", ns[i]);
}
return 0;
}
阅读全文