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