繁体   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