编程实现:在主函数中定义一个有10个元素的float数组a并全部元素初始化为0。调用rand_array()函数实现数组a的10个元素随机赋值,元素值范围在0~100之间;调用change_array()函数,实现数组a中的前k个元素值为0;调用print_array()函数实现数组a所有元素输出。该程序包含的三个函数: (1)void rand_array(float *x,int n)的功能是让该数组中的n个元素随机赋值,元素值范围在0~100之间; (2)void change_array(float *x,int k)的功能是让该数组中的前k个元素值为0; (3)void print_array(float *x,int n)的功能是输出该数组中的所有元素; 请写出完整代码。
时间: 2024-02-26 20:56:34 浏览: 42
自定义一个包含10个元素的一维int数组,并在声明语句中为其赋值;使用循环语句,随机选取该数组中的5个不重复的数据
5星 · 资源好评率100%
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void rand_array(float *x, int n);
void change_array(float *x, int k);
void print_array(float *x, int n);
int main() {
float a[10] = {0};
int k = 5; // 前k个元素设为0
rand_array(a, 10); // 生成随机数组
printf("初始数组:\n");
print_array(a, 10); // 输出初始数组
change_array(a, k); // 将前k个元素设为0
printf("修改后数组:\n");
print_array(a, 10); // 输出修改后的数组
return 0;
}
void rand_array(float *x, int n) {
srand((unsigned int)time(NULL)); // 随机数种子
for (int i = 0; i < n; i++) {
*(x+i) = rand() % 101; // 随机数范围在0~100之间
}
}
void change_array(float *x, int k) {
for (int i = 0; i < k; i++) {
*(x+i) = 0; // 前k个元素设为0
}
}
void print_array(float *x, int n) {
for (int i = 0; i < n; i++) {
printf("%.2f ", *(x+i)); // 输出数组中的所有元素
}
printf("\n");
}
```
阅读全文