使用指针与数组
#include <stdio.h>
#define N 10
void Maxmin(int *ps)//查出数组中最大最小值
{
int i,max=ps[0],min=ps[0];
for(i=1;i<N;i++)
{
max=(max>ps[i]?max:ps[i]);
min=(min<ps[i]?min:ps[i]);
}
printf("最大值为%d,最小值为%d\n",max,min);
}
void Evennumber(int *ps)//统计偶数的个数
{
int i=0,number=0;
while(i<N)
{
if(ps[i]%2==0)
number++;
i++;
}
printf("偶数的个数为%d\n",number);
}
void Saneven(int *ps)//删除偶数之后的数组
{
int i,j;
for(i=0,j=0;i<N;i++)
{
if(ps[i]%2!=0)
{
ps[j++]=ps[i];
}
}
for(i=j+1;i<N;i++)
{
ps[i]='\0';
}
for(i=0;ps[i]!='\0';i++)
{
printf("%d\t",ps[i]);
}
}
void Reversed(int *ps)//删除之后逆序输出
{
int i;
for(i=N-1;i>=0;i--)
{
if(ps[i]!=0)
printf("%d\t",ps[i]);
}
}
void main()
{
int a[N]={74,53,26,39,81,64,19,33,45,92},b[N];
int *p=a;
Maxmin(p);
Evennumber(p);
printf("删除偶数之后的数组:\t");
Saneven(p);
putchar('\n');
printf("删除之后逆序输出:\t");
Reversed(p);
putchar('\n');
}