访问数组元素是间接访问
//输入数组各元素
//一个形参是数组,一个是数组的长度
void getArray(int a[],int n)
{
int i;
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
}
void putArray(int a[],int n)
{
int i;
for(i=0;i<n;i++)
{
printf("%d",a[i]);
}
}
int main()
{
int a[8];
getArray(a,8);
putArray(a,8);
}
int main()
{
int a[8];
getArray(a,8);
putArray(a,8);
adjust(a,8);
putArray(a,8);
}
void getArray(int a[],int n)
{
int i;
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
}
void putArray(int a[],int n)
{
int i;
for(i=0;i<n;i++)
{
printf("%4d",a[i]);
}
printf("\n");
}
//将长度为n的数组,扫描数组然后找出最大和最小值的下标
//最小值和首元素交换
//最大元素和最后元素交换
void adjust(int a[],int n)
{
int maxIdx=0,minIdx=0; //定义存储最值的下标
int i;
int t ;
for(i=1;i<n-1;i++)
{
if(a[i]>a[maxIdx])
maxIdx = i;
else if(a[i]<a[minIdx])
minIdx = i;
}
t = a[minIdx];
a[minIdx]=a[0];
a[0]=t;
if(maxIdx==0)
maxIdx = minIdx;
t = a[maxIdx];
a[maxIdx] = a[n-1];
a[n-1] = t;
}
//当最大元素在a[0]时
//最小在a[2]时
//5 3 1 2----> 1 3 2 5
=============================================
//求输入的数字是否为素数
int isPrime(int n)
{
int k ;
for(k=2;k<n;k++)
{
if(n%k==0)
return 0;
}
return 1;
}
int cntPrime(int a[],int n)
{
int i;
int cot = 0;
for(i=0;i<n;i++)
{
if( isPrime(a[i]))
++cot;
}
return cot;
}
网友评论