Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/160.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 串联问题_C++ - Fatal编程技术网

C++ 串联问题

C++ 串联问题,c++,C++,我想获取三个用户输入值A、B、C,然后创建一个新的整数来存储这三个值,称为容量。我希望整数用逗号分隔,但当我输出整数容量时,它只返回C值。我不知道如何解决这个问题 #include <iostream> using namespace std; int main() { int A; cout <<"Enter Capacity of Jug A"<< endl; cin >>A; int B; cout

我想获取三个用户输入值A、B、C,然后创建一个新的整数来存储这三个值,称为容量。我希望整数用逗号分隔,但当我输出整数容量时,它只返回C值。我不知道如何解决这个问题

#include <iostream>

using namespace std;

int main()
{
    int A;
    cout <<"Enter Capacity of Jug A"<< endl;
    cin >>A;
    int B;
    cout <<"Enter Capacity of Jug B"<< endl;
    cin >>B;
    int C;
    cout <<"Enter Capacity of Jug C"<< endl;
    cin >>C;

    int capacity;
    capacity = (A, B, C);
    cout <<"capacity is "<< capacity;

    return 0;
}
#包括
使用名称空间std;
int main()
{
INTA;

cout您可以像这样使用数组:

#include <iostream>

using namespace std;

int main()
{
    int A;
    cout << "Enter Capacity of Jug A" << endl;
    cin >> A;

    int B;
    cout << "Enter Capacity of Jug B" << endl;
    cin >> B;

    int C;
    cout << "Enter Capacity of Jug C" << endl;
    cin >> C;

    int capacity[3];
    capacity[0] = A;
    capacity[1] = B;
    capacity[2] = C;

    cout << "capacity is " << capacity[0] << "," << capacity[1] << "," << capacity[2];

    return 0;
}
#包括
使用名称空间std;
int main()
{
INTA;
库塔;
int B;
cout B;
INTC;
coutc;
国际容量[3];
容量[0]=A;
容量[1]=B;
容量[2]=C;

cout您可以像这样使用数组:

#include <iostream>

using namespace std;

int main()
{
    int A;
    cout << "Enter Capacity of Jug A" << endl;
    cin >> A;

    int B;
    cout << "Enter Capacity of Jug B" << endl;
    cin >> B;

    int C;
    cout << "Enter Capacity of Jug C" << endl;
    cin >> C;

    int capacity[3];
    capacity[0] = A;
    capacity[1] = B;
    capacity[2] = C;

    cout << "capacity is " << capacity[0] << "," << capacity[1] << "," << capacity[2];

    return 0;
}
#包括
使用名称空间std;
int main()
{
INTA;
库塔;
int B;
cout B;
INTC;
coutc;
国际容量[3];
容量[0]=A;
容量[1]=B;
容量[2]=C;

cout您的问题的一个解决方案是创建一个
int
值数组。数组的每个位置都存储一个
int

int capacity[3];
cin >> capacity[0];
cin >> capacity[1];
cin >> capacity[2];
cout << capacity[0] << ", " << capacity[1] << ", " << capacity[2] << endl;
同样的印刷方法

有关阵列的更多信息:

有关
for
循环的更多信息:

解决问题的一个方法是创建一个
int
值数组。数组的每个位置都存储一个
int

int capacity[3];
cin >> capacity[0];
cin >> capacity[1];
cin >> capacity[2];
cout << capacity[0] << ", " << capacity[1] << ", " << capacity[2] << endl;
同样的印刷方法

有关阵列的更多信息:
有关
for
循环的更多信息:

我希望整数用逗号分隔,但当我输出整数容量时,它只返回C值

让具有
int容量的设备只能保存数值、整数值(在一定范围内),这是不现实的

您已将您的问题命名为串联问题,这使我相信您正在寻找一个
std::string
来保存字符串值。然后您可以用逗号和字符串文字分隔整数

#include <iostream>
#include <string>    // std::string

int main()
{
    // ... omitted for brevity

    // use std::string, and CONCATENATE using the + operator
    std::string capacity = "(" + std::to_string(A) + ", " + std::to_string(B) + ", " + std::to_string(C) + ")";

    // ... do something with `capacity` ?

    std::cout << "capacity is " << capacity << '\n';

    return 0;
}
我希望整数用逗号分隔,但当我输出整数容量时,它只返回C值

让具有
int容量的设备只能保存数值、整数值(在一定范围内),这是不现实的

您已将您的问题命名为串联问题,这使我相信您正在寻找一个
std::string
来保存字符串值。然后您可以用逗号和字符串文字分隔整数

#include <iostream>
#include <string>    // std::string

int main()
{
    // ... omitted for brevity

    // use std::string, and CONCATENATE using the + operator
    std::string capacity = "(" + std::to_string(A) + ", " + std::to_string(B) + ", " + std::to_string(C) + ")";

    // ... do something with `capacity` ?

    std::cout << "capacity is " << capacity << '\n';

    return 0;
}

您只需编写以下代码:

#include <iostream>

using namespace std;

int main()
{
    int A;
    cout << "Enter Capacity of Jug A" << endl;
    cin >> A;

    int B;
    cout << "Enter Capacity of Jug B" << endl;
    cin >> B;

    int C;
    cout << "Enter Capacity of Jug C" << endl;
    cin >> C;

    cout << "capacity is " << A << "," << B << "," << C << endl;

    return 0;
}
#包括
使用名称空间std;
int main()
{
INTA;
库塔;
int B;
cout B;
INTC;
coutc;

cout您只需编写以下代码:

#include <iostream>

using namespace std;

int main()
{
    int A;
    cout << "Enter Capacity of Jug A" << endl;
    cin >> A;

    int B;
    cout << "Enter Capacity of Jug B" << endl;
    cin >> B;

    int C;
    cout << "Enter Capacity of Jug C" << endl;
    cin >> C;

    cout << "capacity is " << A << "," << B << "," << C << endl;

    return 0;
}
#包括
使用名称空间std;
int main()
{
INTA;
库塔;
int B;
cout B;
INTC;
coutc;

你能告诉我怎么了吗?

您不能在一个
int
变量中存储三个
int
值。这没有意义。您需要其他数据类型来存储这些值,我将在后面解释

发生了什么事?

当您在右侧表达式中用
分隔值时,编译器将它们视为多个表达式(expr1、expr2等),并按顺序计算它们,但返回最后一个结果(即代码中
C
的值)。因此,
容量
始终等于
C
就不足为奇了

什么是正确的解决方案?

解决这个问题有多种方法

使用
struct

可以定义结构并将值存储为其字段:

struct caps {
    int A, B, C;
};

caps c = { A, B, C };
使用
std::array
(从C++11开始)


怎么了?

您不能在一个
int
变量中存储三个
int
值。这没有意义。您需要其他数据类型来存储这些值,我将在后面解释

发生了什么事?

当您在右侧表达式中用
分隔值时,编译器将它们视为多个表达式(expr1、expr2等),并按顺序计算它们,但返回最后一个结果(即代码中
C
的值)。因此,
容量
始终等于
C
就不足为奇了

什么是正确的解决方案?

解决这个问题有多种方法

使用
struct

可以定义结构并将值存储为其字段:

struct caps {
    int A, B, C;
};

caps c = { A, B, C };
使用
std::array
(从C++11开始)


基本上,你不能这样做。你从哪里学习C++?<代码>(a,b,c)< /Cord>,逗号表示不做你认为它做的事。- -我如何解决它?看起来你正在尝试使你的数字数组容量合适?在这种情况下,你需要声明容量为数组,然后你可以引用每个容量的项目[0 ]。所以你的要求是不可能的。你说过要创建一个“存储这三个值的新整数”。一个整数只能存储一个值。一个整数数组可以存储三个值。(如果你告诉我们三个壶容量对它们的大小有一定的限制,那么也许你可以把三个值打包成一个整数的不同的位,但这似乎不太可能是你要做的。)基本上,你不能这样做。你从哪里学习C++?<代码>(a,b,c)< /COD> >逗号表示不做你认为它做的事。那么我该如何修复它呢?看起来您正试图将容量设置为一个正确的数字数组?在这种情况下,您需要将容量声明为一个数组,然后您可以使用容量[0]引用每个项,因此您的要求是不可能的。您说要创建一个“存储这三个值的新整数”。一个整数只能存储一个值。一个整数数组可以在其中存储三个值。(如果您告诉我们三个罐子容量的大小有一些限制,那么您可能可以使用pac。)