簡體   English   中英

簡單的C ++匯總程序

[英]Simple C++ Summing Program

這是我第一次使用C ++,並且我正在編寫一個小程序以將最多十個數字(雙精度)求和,這些數字將在命令提示符下輸入。

我已經編寫了以下代碼,但無法弄清楚為什么它不能產生預期的結果。

int main()
{
    double num[10];
    double sum = 0;
    int i;
    int n = 10;

    while (scanf_s("%lf", &num) != EOF)
    {
        for (i = 0; i < n; ++i)
        {
            scanf_s("%lf", &num);
            sum = sum + num[i];
        }
    }

    cout << sum;

    system("pause");
    return 0;
}

數據輸入以控件D終止。在我看來,它應該運行正常,但事實並非如此。 有人可以給我一些解決這個問題的指示,我不只是想被告知我寧願自己學習的正確方法。

問題是&num是數組的地址。 因此,您始終以num[0]讀取值,這意味着num[i]在大多數情況下是隨機的。

嘗試更改循環:

for (i = 0; i < n && (cin>>num[i]); ++i)
{
    sum = sum + num[i];
}

暫無
暫無

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

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