我有一個函式computeNormal,我想對存盤在陣列中的值(值 - 陣列的舍入平均值)執行計算,然后將結果存盤在另一個陣列中并將它們列印到我的另一個compute函式中。
這是我的代碼,但它回傳錯誤的值。我究竟做錯了什么?
int computeNormal(int normals[], int measurements[], int nrOfMeasurements)
{
int sum = 0, normal = 0;
float mean;
for (int i = 0; i < nrOfMeasurements; i )
{
sum = measurements[i];
}
mean = ((float)sum/nrOfMeasurements);
for (int i = 0; i < nrOfMeasurements; i )
{
normal = measurements[i] - round(mean);
normals[i] = normal;
}
}
void compute(int measurements[], int nrOfMeasurements)
{
int normals[nrOfMeasurements];
printf("[ ");
for (int i = 0; i < nrOfMeasurements; i )
{
printf("%d ", computeNormal(normals, measurements, nrOfMeasurements));
}
printf("]");
printf("\n");
}
nrOfMeasurements = 用戶輸入的輸入值的數量,在enter函式中分配的 1-10 之間,measurements[] = 存盤原始輸入值的陣列,normals[] = 我要列印計算值的陣列.
uj5u.com熱心網友回復:
首先呼叫該computeNormal函式,讓它進行計算并將其保存到您的陣列中。
然后列印陣列中的值。
像這樣:
computeNormal(normals, measurements, nrOfMeasurements);
for (int i = 0; i < nrOfMeasurements; i )
{
printf("%d ", normals[i]);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/512649.html
標籤:数组C功能
