-5

我正在尝试学习 C++,但在编写一个简单的程序时遇到了问题。我想要的是一个函数,它将采用一个整数输入参数,创建一个存储在从 0 到该数字的数组中的数字序列,并且这些数字是一个总和。例如,给定 7 个输出 0 1 2 3 4 5 6 7

4

3 回答 3

2

您说您想填充一个数组,在其中插入一个值,例如“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;
}
于 2012-04-03T22:27:59.863 回答
1

C风格:

#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;
}

C++ 风格:

 #include <vector>
 #include <iostream>
 using namespace std;
 int main(int argc, char ** argv)
 {
      int num;
      cin >> num;
      vector<int> arr;
      for(int i = 0; i <= num; i++)
           arr.push_back(i);
      return 0;
 }
于 2012-04-03T22:15:53.417 回答
0

通过帮助您,从这里开始并填写空白:

#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;
}

不过,您将不得不自己做一些事情,这就是 StackOverflow 处理类似家庭作业的问题的方式 :)

于 2012-04-03T22:12:11.043 回答