簡體   English   中英

C/C++ 中的原型設計

[英]Prototyping in C/C++

我正在嘗試創建原型並編寫名為 average 的函數。

我不知道如何創建它,在 lazlo 和 pietra 上有什么錯誤參數太少而無法運行.....

平均接收一組學生考試成績。

average 計算學生分數的平均值

我如何正確創建原型?

#include <iostream>
using namespace std;

double average( int array[], int items); // function declaration (prototype)

int main()
{
    int lazlo[] = {90, 80, 85, 75, 65, -10};
    int pietra[] = { 100, 89, 83, 96, 98, 72, 78, -1};
    int num;

    num = average( lazlo );
    cout << "lazlo took " << num << "tests. Average: " << lazlo[ num ] << endl;

    num = average( pietra );
    cout << "pietra took " << num << "test. Average: " << pietra[ num ] << endl;

    // function call to average

}

您已聲明average接受兩個參數:(指向第一個元素的指針)數組和數組中的項數。 問題在於,當您調用average您只傳遞一個參數:數組(衰減為指向其第一個元素的指針)。 您缺少items參數。

你的電話應該是這樣的:

num = average(lazlo, 6);

之后打印的消息也不正確。 average返回平均值,因此num將是數組中數字的平均值,而不是項目數。 此外, lazlo[num]將是一個錯誤,因為num將為64 ,並且您的lazlo數組中沒有第 64 項。

您需要有一個與原型相關聯的實際函數才能使您的代碼工作。 您可以將其添加到您的主要功能下方:

double average( int array[], int items) {
  // write your averaging code here
}

完成對平均函數的編碼后,請確保調用它以使輸入的數量和數據類型與您的原型相匹配:

num = average(lazlo, 6);
num = average(pietra, 8);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM