数组 - 使用用户输入

Arrays - using user input

我正在创建一个代码,我们在其中获取一个浮点数组并将其内容打印到最接近的整数 - 特殊库无法完成舍入。我花了时间做舍入部分,但我需要让数组的内容来自键盘,并试图找出 where (在什么位置点)需要发生。有人可以解释一下它应该放在哪里吗?

#include <iostream>
#include <iterator>
using namespace std;

int roundIt(float x) 
{
return x + 0.5;
}

void print_integers(float a[], int size)

{
for (int i = 0; i < size; ++i)
    cout << roundIt(a[i]) << ' ';

cout << '\n';
}

int main()
{
float rounded[]{ 3.1, 4.7, 5, 5.0, 6.1, 6.8, 7.4, 8.5, 9.6 };

print_integers(rounded, size(rounded));
}

尝试这样的事情。要获得更灵活的应用程序,您需要创建动态的浮点数组。之后使用它,当不再需要数组时,您需要释放被包含浮点数的数组大小占用的内存。这里有一些 source 以了解有关动态内存的更多信息。

  1. std::cin (cin) 是表示标准输入流的对象。使用此对象,您可以保存来自用户的输入(还有其他选项如何存储用户输入,但对于这种情况就足够了)
#include <iostream>

using namespace std;

int roundIt(float x)
{
    return x + 0.5;
}

void print_integers(float a[], int size)
{
    for (int i = 0; i < size; ++i)
        cout << roundIt(a[i]) << ' ';

     cout << '\n';
}

int main()
{
   // float rounded[]{ 3.1, 4.7, 5, 5.0, 6.1, 6.8, 7.4, 8.5, 9.6 };
   int sizeOfArray;

   cout<< "Enter number of elements which will be rounded :" << endl;
   cin>>sizeOfArray;

   float* arrElements = new float[sizeOfArray];

   cout<< "Enter "<< sizeOfArray << " elements"<< endl;

   for(int i = 0; i < sizeOfArray; i++)
   {
      cin>>arrElements[i];
   }

   print_integers(arrElements, sizeOfArray);
 
   delete [] arrElements;
}