用于输出列中对数函数结果的合适循环(c++)

Suitable loop for output the results of logarithm function in column (C++)

本文关键字:循环 c++ 输出 对数函数 结果 用于      更新时间:2023-10-16

我在c++中有一些代码,用于计算输入数字的log2(n)。

#include <iostream>
#include <cmath>
using namespace std;
double log(double a, double b) {
    return log(b) / log(a);
}
int main() {
    int n;
    cin >> n;
    cout << (int)log(2, n);
    return 0;
}

如何使用n个输入的数字。例如,5个数字的输入必须是这样的(每个数字在self行):

5 // Enter amount of numbers below
24958 // Enter the first number
48569 // ... second number...
48564
40506
59232

输出将是:

14
15
15
15
15

你应该使用数组来存储数字。

#include <iostream>
#include <cmath>
using namespace std;
double log(double a, double b) {
    return log(b) / log(a);
}
int main() {
    int iter, i;
    cin >> iter;
    int arr[iter];
    for ( i=0; i<iter; i++)
       cin >> arr[i];
    for ( i=0; i<iter; i++)
       cout << (int)log(2, arr[i])<<endl;
    return 0;
}

您是否可以显示用于解析用户输入的实际代码?如果您还没有创建这样的代码,那么只需执行以下操作:

  1. 读取用户输入并将第一行存储在字符串中,并将其转换为整数(查看std::getline)
  2. 循环与n相同的次数,并使用getline读取其余条目,调用对数方法并显示其输出