用于输出列中对数函数结果的合适循环(C++)
Suitable loop for output the results of logarithm function in column (C++)
我有一些 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;
}
你能展示一下你用来解析用户输入的代码是什么吗?如果您还没有创建这样的代码,那么只需执行以下操作:
- 读取用户输入并将第一行存储在字符串中并将其转换为整数(查看std::getline)
- 循环 n 次,并使用 getline 读取剩余的条目,调用您的对数方法并显示其输出
我有一些 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;
}
你能展示一下你用来解析用户输入的代码是什么吗?如果您还没有创建这样的代码,那么只需执行以下操作:
- 读取用户输入并将第一行存储在字符串中并将其转换为整数(查看std::getline)
- 循环 n 次,并使用 getline 读取剩余的条目,调用您的对数方法并显示其输出