C语言编程问题 指针数组 很简单的

2024-12-01 15:05:47
推荐回答(4个)
回答1:

用数组是这样的:
#include
using namespace std;
int ave(int a[]);
void main()
{
int a[10];
int *p; //这个是指针指向数组问题这里用不着
p=a;
int i;
cout<<"please integer 10 numbers:"< for(i=0;i<10;i++)
cin>>a[i]; //cin不要加endl
cout<<"The averger="<}

int ave(int a[])
{
int sum=0;
for(int i=0;i<10;i++)
sum+=a[i];
return sum/10;
}
指针是这样的:
for(i=0;i<10;i++)
cin>>*(p+i);
cout<<"The averger="<
定义int*p; 是说现在有个指针p,p=a是p指向数组a的首地址。然后你用指针p+i是分别指向数组a的不同地址,但是你输入的是数所以是*(p+i)。明白了么?

回答2:

#include
using namespace std;
float ave(int a[]);
void main()
{
int a[10];
int *p;
int i;//定义
p=a;//a本来就是指针
cout<<"please integer 10 numbers:"< for(i=0;i<10;i++)
cin>>a[i];//后面的不需要
cout<<"The averger="<}
float ave(int a[])
{
int sum=0;
for(int i=0;i<10;i++)
sum+=a[i];
return sum/10.0; //这好事float型
}

回答3:

#include
#include 
using namespace std;
double arrAv(double * arrd,int length)
{
double average=0,sum=0;
for (int i=0;i {
sum=sum+*(arrd+i);
}
average=sum/length;
return average;
}
void  main()
{
double arr[10];
for(int j=0;j<=9;j++)
{
cin>>arr[j];
}
double average=arrAv(arr,10);
cout < system("pause");
}

回答4:

#include
using namespace std;
int ave(int a[]);
void main()
{
int a[10];
int *p;
p=a;
cout<<"please integer 10 numbers:"<for(int i=0;i<10;i++)
cin>>*(p+i);
cout<<"The averger="<}
int ave(int a[])
{
int sum=0;
for(int i=0;i<10;i++)
sum+=a[i];
return sum/10;
}