#include<iostream>
#include<iomanip>
using namespace std;
void main()
{
void prime(int,int);
int a[10],b[10],i,j;
cout<<"请输入10个正整数:"<<endl;
for(i=0;i<10;i++)
cin>>a[i];
int max=a[0],min=a[0],t,imax=0,imin=0;
for(i=0;i<10;i++)
{
if(max<a[i])
{
t=max;
max=a[i];
a[i]=t;
imax=i;
}
}
cout<<"数组中的最大值为:"<<max<<",其下标为:"<<imax<<endl;
for(i=0;i<10;i++)
{
if(min>a[i])
{
t=min;
min=a[i];
a[i]=t;
imin=i;
}
}
cout<<"数组中的最小值为:"<<min<<",其下标为:"<<imin<<endl;
cout<<"素数为:";
for(j=i;j>=0;i--)
{
prime(a[j],b[j]);
cout<<setw(4)<<b[j];
}
cout<<endl;
system("pause");
}
void prime(int a[],int b[])
{
int i;
for(i=2;i<a[i-2];i++)
{
if(a[i-2]%i==0)
break;
}
if(i==a[i-2])
b[i-2]=a[i-2];
}
报错不是很明显吗?
函数声明不能在main中
改一下试试
C++中有函数重载,同名函数不同参数或返回值,都是不同的函数
就是函数声明:void prime(int,int);改为:void prime(int a[],int b[]);最好是放在main函数之前,不要放在里面