簡體   English   中英

在 c++ 中輸出 64 位整數

[英]Outputing 64bit integers in c++

我寫了以下代碼-

#include <iostream>
#include <tuple>

int sumarr(int64_t  arr[], int length)
{
    long long int sum= 0;
    for(int i=0; i<length; i++)
    {
      sum += arr[i];
    }
    return sum;
}

void minimaxval(int64_t arr[], int length,int64_t *x,int64_t *y)
{
    long long int c=0;
    long long int d=10e9;

    for(int j=0; j<5; j++)
    {

    if(arr[j] >= c)
    {
        c = arr[j];
    }
    if (arr[j] <= d)
    {
        d= arr[j];
    }
    }
    *x=c;
    *y=d;
}


int main()
{
   int64_t arr[5];
    int64_t p, q;

    int64_t sum;

    for(int k=0; k<5; k++){
        std::cin>> arr[k];
       if (arr[k]<1 || arr[k]>10e9){return 0;}
    }


    sum= sumarr(arr, 5);
    minimaxval (arr, 5, &p, &q);

    std::cout << sum-p << " " << (sum-q);


    return 0;
}

這是我關於stackoverflow的第一個問題。 所以我對格式不太了解。

查詢的輸入。 將是 5 個空格分隔的整數。 Output 應該是我們通過從列表中僅刪除一個 integer 可以獲得的最小和最大和。

它沒有顯示任何編譯器問題。

它適用於較小的整數,但對於較大的整數輸出負值。

我在哪里 go 錯了。

在“摘要”中,您的返回類型錯誤。 如果您將其更改為 int64_t 一切都會好起來的。 PS,是的,這也是我的第一個答案)

暫無
暫無

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

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