arrays - 将生成的数组乘以值 x 并找到平均值
问题描述
这是我正在使用的当前代码:
#include<stdio.h>
int main()
{
//1
int NUM[] = {1,2,3,4,5,6,7,8,9,10};
int i,j,k;
int len = sizeof NUM / sizeof * NUM;
//3
int ODD[len];
int EVEN[len];
//4
j = 0;
k = 0;
//5
int sum = 0;
int average;
for(i = 0; i<10 ; i++){
//5
if(NUM[i]%2 == 0){
EVEN[j] = NUM[i];
j++;
}else{
ODD[k] = NUM[i];
k++;
}
}
//6
printf("Even numbers : ");
for(i = 0;i<j; i++){
printf("%d ",EVEN[i]);
}
printf("\nOdd numbers : ");
for(i = 0;i<k; i++){
printf("%d ",ODD[i]);
}
printf("\nFrequency of EVEN array is :");
for(i = 0;i<j; i++){
sum = sum + EVEN[i];
average = sum / j;
printf("%d ",average);
}
printf("\n");
}
输出:
Even numbers : 2 4 6 8 10
Odd numbers : 1 3 5 7 9
Frequency of EVEN array is :0 1 2 4 6
我要做的是将生成的 EVEN[i] 数组乘以 0.02,然后找到该新数组的平均值/平均值并将其反转。在公式中,它将是 1 /mean(EVEN[i]*=0.02)。我坚持使用提到的操作来操作 EVEN[i] 数组。
编辑1:我的平均代码:
double Arr[i];
for(i=0;i<j;i++){
Arr[i] = EVEN[i]*0.02;
printf("%f ", Arr[i]);
}
printf("\nAverage of EVEN array is :");
size_t n = sizeof(Arr)/ sizeof (Arr[0]);
for(i = 0;i<j; i++){
sum = sum + Arr[i];
}
average = sum / n;
// printf("%d ",n);
printf("%f ",average);
return 0;
}
输出:
Average of EVEN array is :0.000000
不知道为什么它显示0。
解决方案
对于由 Even[i]*0.02 项组成的新数组
double Arr[j];
for(let i=0;i<j;j++){
Arr[i] = Even[i]*0.02;
}
现在对于逆数组,你可以简单地做
double Arr2[j];
for(let i=0;i<j;j++){
Arr2[i] = 1/Arr[i];
}
或者,如果您想直接执行此操作,您可以执行
double Arr[j];
for(let i=0;i<j;j++){
Arr[i] = 1/(Even[i]*0.02);
}
还是我从你的问题中遗漏了什么?
推荐阅读
- sql - 用于将行相互折叠的递归 sql 查询
- python - Python 解决 Dataframe 中的复杂库存
- android - Kotlin 中的接收器类型与 Android 的 `activityViewModels` 不匹配
- javascript - 如何根据屏幕大小更改 window.scrollY 侦听器 React
- html - 在 HTML 视频标签中添加具有不同质量选项的下载按钮
- python - 使用 Cloud Composer 上的 KubernetesPodOperator 通过 Cloud Functions 将变量传递给容器
- ios - React 基于原生的 DatePicker 出现在 iOS 上最小化
- c# - C# 使用字符串数组中的嵌套对象动态创建 JSON
- javascript - JS:如何获取最近日期的对象
- vba - VBA:将 WORD 表导出到 excel