C语言用指针在主函数中定义一个有10个元素的float数组a并全部元素初始化为0。调用rand_array(函数实现数组a的10个元素随机赋值,元素值范围在0-100之间:调用change_array(函数,实现数组a中的前k个元素值为0;调用print_array(函数实现数组a所有元素输出。
时间: 2024-03-08 14:46:14 浏览: 79
好的,你的问题是如何用C语言指针实现一个有关数组的程序。下面是实现你所需功能的代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void rand_array(float *a, int n);
void change_array(float *a, int k);
void print_array(float *a, int n);
int main()
{
float a[10] = {0}; //定义一个有10个元素的float数组a并全部元素初始化为0
int k = 5; //定义变量k,表示前k个元素
srand(time(NULL)); //设置随机数种子,以时间为准
rand_array(a, 10); //调用rand_array函数,实现数组a的10个元素随机赋值
change_array(a, k); //调用change_array函数,实现数组a中的前k个元素值为0
print_array(a, 10); //调用print_array函数,实现数组a所有元素输出
return 0;
}
void rand_array(float *a, int n)
{
int i;
for (i = 0; i < n; i++)
{
*(a+i) = rand() % 101; //随机生成0-100之间的整数
}
}
void change_array(float *a, int k)
{
int i;
for (i = 0; i < k; i++)
{
*(a+i) = 0; //前k个元素值为0
}
}
void print_array(float *a, int n)
{
int i;
for (i = 0; i < n; i++)
{
printf("%.2f ", *(a+i)); //输出数组元素,保留两位小数
}
}
```
希望能够帮到你!
阅读全文