c语言问题:用指针方法求数组元素的平均值和数组元素之积 测试输入:9 1 42 3 9 7 6 33 2 8 预期输出: 平均值:12.000000 积:226328256.000000 #include <stdio.h> #define N 10 int main() { /********** Begin / /* End **********/ }
时间: 2023-06-29 09:07:03 浏览: 158
可以使用指针来实现对数组元素的操作,具体代码如下:
```
#include <stdio.h>
#define N 10
int main() {
int nums[N];
int *p = nums; // 指向数组的指针
double sum = 0.0;
double product = 1.0;
// 输入数组元素
for (int i = 0; i < N; i++) {
scanf("%d", &nums[i]);
}
// 计算平均值和积
for (int i = 0; i < N; i++) {
sum += *(p+i); // 或者 sum += p[i];
product *= *(p+i); // 或者 product *= p[i];
}
printf("平均值:%.6f\n", sum / N);
printf("积:%.6f\n", product);
return 0;
}
```
首先定义一个指向数组的指针p,并将其初始化为指向数组首元素的地址。接着输入数组元素,再使用指针遍历数组元素并计算平均值和积。最后输出结果即可。
相关问题
用c语言写出用指针求数组元素的平均值和数组元素之积的代码
下面是用指针求数组元素的平均值和数组元素之积的C语言代码:
```c
#include <stdio.h>
void avg_mul(int arr[], int size, float* avg, int* mul) {
int sum = 0;
*mul = 1; // 初始化乘积为1
for (int i = 0; i < size; i++) {
sum += arr[i];
*mul *= arr[i];
}
*avg = (float)sum / size; // 计算平均值
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(arr[0]);
float avg;
int mul;
avg_mul(arr, size, &avg, &mul); // 传入指针参数
printf("平均值为 %.2f,元素之积为 %d\n", avg, mul);
return 0;
}
```
输出结果为:
```
平均值为 3.00,元素之积为 120
```
在 `avg_mul` 函数中,使用指针参数 `avg` 和 `mul` 分别指向 `main` 函数中定义的 `avg` 和 `mul` 变量的地址。在循环中,累加数组元素之和,并计算数组元素之积。最后,通过指针参数将平均值和元素之积返回给 `main` 函数。
用c语言写出用指针求数组元素的平均值和数组元素之积的代码,其中平均值与元素之积都为浮点数类型,结果保留6位小数,数组由键盘输入
下面是用指针求解数组元素平均值和元素之积的C语言代码:
```c
#include <stdio.h>
int main() {
int n, i;
float sum = 0, product = 1;
printf("请输入数组长度:");
scanf("%d", &n);
int arr[n];
printf("请输入数组元素:");
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
sum += *(arr + i);
product *= *(arr + i);
}
printf("平均值为:%.6f\n", sum / n);
printf("元素之积为:%.6f\n", product);
return 0;
}
```
以上代码中,我们首先通过 `scanf()` 函数从键盘输入了数组的长度 `n`,并创建了一个长度为 `n` 的整型数组 `arr`。接着,我们通过循环遍历数组,使用指针 `arr + i` 来访问数组的每一个元素,并累加求和、累乘求积。最后,我们使用 `%f` 格式化符号输出平均值和元素之积,并使用 `.6` 表示只保留小数点后 6 位。
需要注意的是,由于 `arr` 是一个指针,因此不能直接使用 `arr[i]` 的形式来访问其中的元素,而是需要使用指针加法的形式 `*(arr+i)`。另外,在编译时需加上 `-lm` 参数,以链接数学库,以便使用 `printf()` 函数中的 `%f` 格式化符号。
阅读全文