C++程序设计,指针练习题,怎么做?

2.函数voidprint(int*p,intn)是输出p所指向的n个整数的空间中所存放的所有整数。请实现该函数,并在主函数中调用该函数输出有n个元素的一维数组。测试数据... 2.函数 void print(int *p,int n)是输出p所指向的n个整数的空间中所存放的所有整数。请实现该函数,并在主函数中调用该函数输出有n个元素的一维数组。测试数据:{1,2,3,4,5}、{30,45,2,8,9,21,34,90,34}。
3.函数 int *create(int n)是为n个整数申请空间,并将空间首址作为函数值返回,请实现该函数。
4.函数 void SetValue(int *p,int n)是为p所指向的空间中赋值n个整数,这n个整数由随机函数生成。
5.函数 void print(int *p,int n)是输出n个指针p所指向的整数。
6.请编程实现3,4,5题,并在主函数对其进行测试。
****请大神解答,按要求做!C++!指针方法!****谢谢了!!!!
展开
 我来答
1215997122
2014-04-07 · 超过32用户采纳过TA的回答
知道答主
回答量:103
采纳率:100%
帮助的人:67.9万
展开全部
void print(int *p,int n)
{
for(int i=0;i<n;i++){
printf("%d ",p[i]); //指针与数组名等价
}
}

int *create(int n)
{
return (int *) malloc(sizeof(int)*n); //记得加入stdlib.h头文件
}
void setvalue(int *p,int n)
{
for(int i=0;i<n;i++)
{
p[i]=random(); //使用随机数函数即可
}
}
void print(int *p,int n)
{
for(int i=0;i<n;i++)
{
printf("%d ",p[i]);
//等价printf("%d ",*(p+i));
}
}

主函数就你自己写了。
int main(int args,char *argc[])
{
//依次调用这几个函数就可以了
int *ptr=NULL;
int a[10];
print(a,10);
ptr=create(10);
setvalue(ptr,10);
print(a,10);
}
追问
运行有错,你这是用C++做的么?
追答
C语言,这其实跟C++兼容的。
肯定有错啊,我随手写的,你直接改改
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
衔泥无珮
2014-04-07 · TA获得超过160个赞
知道小有建树答主
回答量:162
采纳率:0%
帮助的人:184万
展开全部
#include <iostream>
#include <ctime>

using namespace std;

int *create(int n)
{
if(n<1)
return 0;
return new int[n];
}

void SetValue(int *p,int n)
{
srand(time(NULL));
for(int i=0;i<n;++i)
{
*p++=rand();
}
cout<<endl;
}

void print(int *p,int n)
{
for(int i=0;i<n;++i)
{
cout<<*p++<<" ";
}
}

int main()
{
int *p,n;
cin>>n;
p=create(n);
SetValue(p,n);
print(p,n);
return 0;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式