如何用C++中公式的计算结果生成数组?
在C++中用公式生成结果数组
当然可以实现,本质就是通过循环遍历每个位置,把公式计算的结果存入数组即可。下面给你两种适合初学者的实现方式:
1. 用静态数组(固定大小)
如果提前知道要生成多少个元素,直接声明固定大小的数组就行:
#include <iostream> using namespace std; int main() { // 假设要生成5个元素 const int arr_size = 5; int result_arr[arr_size]; // 循环计算每个元素,n的起始值可根据需求调整 for (int i = 0; i < arr_size; ++i) { int n = i + 2; // 示例从n=2开始计算 result_arr[i] = n * n - 1; } // 打印结果 cout << "生成的数组:"; for (int num : result_arr) { cout << num << " "; } cout << endl; return 0; }
2. 用vector(动态数组,更灵活)
如果不确定数组大小,或者想随时添加元素,推荐用C++标准库的vector,它比静态数组更安全易用:
#include <iostream> #include <vector> using namespace std; int main() { int element_count = 5; vector<int> result_arr; for (int i = 0; i < element_count; ++i) { int n = i + 2; int calc_result = n * n - 1; result_arr.push_back(calc_result); // 将计算结果添加到数组末尾 } // 打印数组 cout << "生成的数组:"; for (int num : result_arr) { cout << num << " "; } cout << endl; return 0; }
关于你给出的例子
你提到公式n²-1生成[1,3,7,12,31],看起来公式或n的取值可能有调整(比如n=2时结果是3,n=3是8,和你的例子中的7不符)。你可以根据实际需求修改循环里的n起始值或公式逻辑,核心逻辑都是循环代入计算。
初学者小贴士
- 注意
n的起始值,确保计算结果和预期匹配; - 静态数组的大小必须是常量(C++11之前的规则),所以用
const int定义; - 使用
vector需要包含头文件<vector>,它会自动管理内存,无需手动释放; - 范围for循环(
for (int num : result_arr))是C++11及以上支持的,比传统索引循环更简洁。
内容的提问来源于stack exchange,提问作者Toska
相关产品推荐
相关产品推荐

