C++中怎样输出a[n]数组
我想实现用户自己输入个数字 然后将这个数字变为数组a[n]的下标 然后再用for语句赋值 请问用什么方法能行?? 主要是数组定义时说要用常量表达式 怎么解决这个问题??
追问:能解释下什么意思吗??那个new什么意思??还有这是自己写数组的值??还是通过for循环从1到n??本人初学者 嘿嘿 还望多多指教!!
我想实现用户自己输入个数字 然后将这个数字变为数组a[n]的下标 然后再用for语句赋值 请问用什么方法能行?? 主要是数组定义时说要用常量表达式 怎么解决这个问题??
追问:能解释下什么意思吗??那个new什么意思??还有这是自己写数组的值??还是通过for循环从1到n??本人初学者 嘿嘿 还望多多指教!!
答案:#include <iostream>
#include <string>
using namespace std;
int main()
{
int n;
cout<<"请输入n:";
cin>>n;
int *num=new int[n];
cout<<"请输入n个数:"<<endl;
for(int i=0;i<n;i++)
{
cin>>num[i];
}
for(int u=0;u<n;u++)
{
cout<<num[u]<<" ";
}
cout<<endl;
return 0;
}
就你所言,应该使用动态数组——正如问问团队“C++部落”的回答——
以下是我运行的截图,请把它标记成答案:)
我稍微做了符合C++的修改:
#include <iostream>
#include <string>
using namespace std;
void main() //主函数没有返回内容,应void合适
{
int n;
cout<<"请输入n:";
cin>>n;
int *num=new int[n];
cout<<"请输入n个数:"<<endl;
for(int i=0;i<n;i++)
{
cin>>num[i];
}
for(int u=0;u<n;u++)
{
cout<<num[u]<<" ";
}
cout<<endl;
delete []num; //动态释放内存,因为动态开辟。
}
上一个:VB程序和C++程序有什么不同?
下一个:一道c++编程题(继承与派生)