Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/139.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++_Arrays_String - Fatal编程技术网

C++ 如何在没有某种数组的情况下输入多个值

C++ 如何在没有某种数组的情况下输入多个值,c++,arrays,string,C++,Arrays,String,基本上,我在上一堂tp编程入门课,我们学习了一些基本知识(循环、if语句、变量类型等)。我在解决一个程序,在这个程序中,我必须要求用户输入6个不同的温度值,然后打印出6个值的最大值、平均值和范围 我应该如何以及在哪里存储这6个数字 cout<< "Enter 6 diff numbers" << endl; float numbers; cin >> numbers; for ( .... i_++) max = ; min = ; cout <

基本上,我在上一堂tp编程入门课,我们学习了一些基本知识(循环、if语句、变量类型等)。我在解决一个程序,在这个程序中,我必须要求用户输入6个不同的温度值,然后打印出6个值的最大值、平均值和范围

我应该如何以及在哪里存储这6个数字

cout<< "Enter 6 diff numbers" << endl;
float numbers;
cin >> numbers;

for ( .... i_++)

max = ;
min = ;


cout << .. << .... << endl;
cout数;
对于(..i_U+)
最大值=;
最小=;

cout我正在介绍一种基本的算法,您可以不使用数组而使用它。 假设一切都在开尔文

float max = 0; // Minimum Value Set for comparing with larger values
float min;
float sum = 0;
float avg = 0;
float tmp;
string number, alltheNumbers;
for( int i = 0; i < 6; i++ ){
   cin>>number;
   tmp = <float> number;
   if( tmp > max ){
      max = tmp;
   }
   sum += tmp;
   alltheNumbers += ',' + number; // Save all the numbers in comma seperated Strings
}
min = max;    // Maximum Found value set for finding minimum
std::string delimiter = ",";
size_t pos = 0;
while ((pos = alltheNumbers.find(delimiter)) != std::string::npos) {
    number = alltheNumbers.substr(0, pos); // Use the comma to retrieve all those numbers
    tmp = <float> number;
    if( tmp < min ){
      min = tmp;
    }
    alltheNumbers.erase(0, pos + delimiter.length());
}
avg = sum / 6;
float max=0;//用于与较大值进行比较的最小值集
浮动最小值;
浮点数和=0;
浮动平均值=0;
浮动tmp;
字符串编号,所有编号;
对于(int i=0;i<6;i++){
cin>>数量;
tmp=数量;
如果(tmp>最大值){
max=tmp;
}
总和+=tmp;
AllTheNumber+=','+number;//将所有数字保存在逗号分隔的字符串中
}
最小值=最大值;//为查找最小值而设置的最大查找值
std::字符串分隔符=“,”;
大小\u t pos=0;
while((pos=alltheNumbers.find(delimiter))!=std::string::npos){
number=alltheNumbers.substr(0,pos);//使用逗号检索所有这些数字
tmp=数量;
如果(tmp
因此,您有以下带有所需数据的变量

max <- will have the maximum value
min <- will have the minimum value
avg <- will have the average value.

max我正在介绍一种基本算法,您可以不使用数组而使用它。
假设一切都在开尔文

float max = 0; // Minimum Value Set for comparing with larger values
float min;
float sum = 0;
float avg = 0;
float tmp;
string number, alltheNumbers;
for( int i = 0; i < 6; i++ ){
   cin>>number;
   tmp = <float> number;
   if( tmp > max ){
      max = tmp;
   }
   sum += tmp;
   alltheNumbers += ',' + number; // Save all the numbers in comma seperated Strings
}
min = max;    // Maximum Found value set for finding minimum
std::string delimiter = ",";
size_t pos = 0;
while ((pos = alltheNumbers.find(delimiter)) != std::string::npos) {
    number = alltheNumbers.substr(0, pos); // Use the comma to retrieve all those numbers
    tmp = <float> number;
    if( tmp < min ){
      min = tmp;
    }
    alltheNumbers.erase(0, pos + delimiter.length());
}
avg = sum / 6;
float max=0;//用于与较大值进行比较的最小值集
浮动最小值;
浮点数和=0;
浮动平均值=0;
浮动tmp;
字符串编号,所有编号;
对于(int i=0;i<6;i++){
cin>>数量;
tmp=数量;
如果(tmp>最大值){
max=tmp;
}
总和+=tmp;
AllTheNumber+=','+number;//将所有数字保存在逗号分隔的字符串中
}
最小值=最大值;//为查找最小值而设置的最大查找值
std::字符串分隔符=“,”;
大小\u t pos=0;
while((pos=alltheNumbers.find(delimiter))!=std::string::npos){
number=alltheNumbers.substr(0,pos);//使用逗号检索所有这些数字
tmp=数量;
如果(tmp
因此,您有以下带有所需数据的变量

max <- will have the maximum value
min <- will have the minimum value
avg <- will have the average value.

max这是一种不用数组也能完成的方法,而且不会破坏你其余的作业

cout<< "Enter 6 different numbers" << endl;

float num1, num2, num3, num4, num5, num6, max, min, sum, avg;

cin >> num1 >> num2 >> num3 >> 
       num4 >> num5 >> num6;
coutnum1>>num2>>num3>>
num4>>num5>>num6;

祝你好运

这是一种不用数组也能完成的方法,而且不会破坏你其余的家庭作业

cout<< "Enter 6 different numbers" << endl;

float num1, num2, num3, num4, num5, num6, max, min, sum, avg;

cin >> num1 >> num2 >> num3 >> 
       num4 >> num5 >> num6;
coutnum1>>num2>>num3>>
num4>>num5>>num6;

祝你好运

对@Zion的第一个答案进行改进,我认为将最小值和最大值初始化为第一个数字就足够了。在for循环输入编号之前,设置max=number和min=number,然后从i=1开始for循环。

对@Zion的第一个答案进行改进,我认为将min和max初始化为第一个数字就足够了。在for循环输入编号之前,设置max=number和min=number,然后从i=1开始for循环。

假设有600万个数字,并且内存中没有存储它们的空间。设想这个程序实际上就是你。你将如何解决这个任务?除非你作为输入得到的数字需要是唯一的,否则你实际上不必存储每个值。@diabulicus本质上说的是,您只需要当前值,并将其与最大值和最小值进行比较。对于平均值,您所需要的只是总和和计数。您只需存储运行总数(输入的值的数量、当前平均值、迄今为止的最小值、迄今为止的最大值等)。假设有600万个数字,而您的内存中没有存储它们的空间。设想这个程序实际上就是你。你将如何解决这个任务?除非你作为输入得到的数字需要是唯一的,否则你实际上不必存储每个值。@diabulicus本质上说的是,您只需要当前值,并将其与最大值和最小值进行比较。对于平均值,您只需要求和和和计数。您只需存储运行总数(输入值的数量、当前平均值、到目前为止的最小值、到目前为止的最大值等。)两件事:
max
应该初始化为一个非常小的值;而
min
变量应初始化为非常大的值。否则,想想如果最大的输入永远不大于零,或者最小的输入永远不小于零会发生什么。是的,正确。如前所述,问题涉及到节约温度。我可以用0开尔文值来表示最大值,但对于最小值,沸腾温度就足够了。这还取决于他们在测试案例中使用的标尺类型。@Joachim现在看起来更具说服力了吗?@zion你为什么要提出这个建议?如果Op的任务禁止他/她使用数组,他/她应该将输入作为6个不同的变量,从那里找到总和、平均值、最小值、最大值等。。这是基础数学。除了字符串类型的变量在技术上是一个字符数组这一事实之外,上面的代码远远超出了解决这个问题的需要。Op看起来您试图超出分配的范围保持简单:)两件事:
max
应该初始化为一个非常小的值;而
min
变量应初始化为非常大的值。否则,想想如果最大的输入永远不大于零,或者最小的输入永远不小于零会发生什么。是的,正确。如前所述,问题涉及到节约温度。我可以用0开尔文值来表示最大值,但对于最小值,沸腾温度就足够了。这还取决于他们在测试案例中使用的标尺类型。@Joachim现在看起来更具说服力了吗?@zion你为什么要提出这个建议?如果Op的任务禁止他/她使用