阵列输入/输出问题? 我正在努力学习C++,我写一个简单的程序有问题。我想要的是一个函数,它将接受一个整数输入参数,创建一个从0到该数字的数组中存储的数字序列,这些数字是一个求和。例如,给定7个输出0 1 2 3 4 5 6 7

阵列输入/输出问题? 我正在努力学习C++,我写一个简单的程序有问题。我想要的是一个函数,它将接受一个整数输入参数,创建一个从0到该数字的数组中存储的数字序列,这些数字是一个求和。例如,给定7个输出0 1 2 3 4 5 6 7,c++,arrays,C++,Arrays,通过向您伸出援助之手,从这里开始并填写以下空白: #include <vector> std::vector<int> make_sequence(int last) { std::vector<int> result; // <fill this in> return result; } int main() { // <probably do something useful here too...&g

通过向您伸出援助之手,从这里开始并填写以下空白:

#include <vector>

std::vector<int> make_sequence(int last)
{
    std::vector<int> result;
    // <fill this in>
    return result;
}

int main()
{
    // <probably do something useful here too...>
    return 0;
}
#包括
std::向量生成_序列(最后一个整数)
{
std::向量结果;
// 
返回结果;
}
int main()
{
// 
返回0;
}
不过,你必须自己做一些,这就是StackOverflow处理家庭作业类问题的方式:)

C-style:

#include <stdio.h>
#include <malloc.h>
int main()
{
     int num;
     scanf("%d", &num);
     int *arr = (int *)malloc(sizeof(int)*(num+1));
     int i;
     for(i = 0; i <= num; i++)
         arr[i] = i; //This is the array
     return 0;
}
#包括
#包括
int main()
{
int-num;
scanf(“%d”和&num);
int*arr=(int*)malloc(sizeof(int)*(num+1));
int i;
对于(i=0;i>num;
向量arr;

对于(inti=0;i您说过要填充一个数组,插入一个值,如“7”,数组将从0填充到7

这很容易做到:

#include <stdio.h>
#include <malloc.h>

int main() {

int i = 0, num = 0; //declare variables
scanf("%d", &num);
int *myArray = (int *)malloc(sizeof(int)*(num+1)); //malloc for array

for (i = 0; i <= num; i++){
    myArray[i] = i;  //fill array as you asked
    printf("%d", myArray[i]);   //print out tested values: 01234567
}

free(myArray);
return 0;
}
#包括
#包括
int main(){
int i=0,num=0;//声明变量
scanf(“%d”和&num);
int*myArray=(int*)malloc(sizeof(int)*(num+1));//数组的malloc

对于(i=0;i到目前为止你做了什么,你有什么问题吗?你刚刚编辑了你的问题,你能发布你的代码吗?这很好,但是有没有办法为每个变量设置一个输入方法,而不是手动更改代码?这不是很好,这是缓冲区溢出的中心问题-特别是,你正在写入myArray[7] ,这将是7元素数组myArray的第8个元素。另外,为什么要包含iostream,然后使用printf?你有什么例子可以做吗?我真的需要一个示例代码,这样我就可以从那里开始工作了。伙计们,这只是一个简单的示例,我们可以让它更健壮。我将编辑我的答案以供您输入:)@用户1311517:在我的答案和雅各布的答案之间,你几乎拥有了你所需要的(真的!)。我会回去再看看。
#include <stdio.h>
#include <malloc.h>

int main() {

int i = 0, num = 0; //declare variables
scanf("%d", &num);
int *myArray = (int *)malloc(sizeof(int)*(num+1)); //malloc for array

for (i = 0; i <= num; i++){
    myArray[i] = i;  //fill array as you asked
    printf("%d", myArray[i]);   //print out tested values: 01234567
}

free(myArray);
return 0;
}