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++!指针方法!****谢谢了!!!! 展开
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++!指针方法!****谢谢了!!!! 展开
2个回答
展开全部
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);
}
{
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++兼容的。
肯定有错啊,我随手写的,你直接改改
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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;
}
#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;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询