方法一:单纯应用数组实现。
#include<stdio.h>
main()
{
int a[100],i,j,m=0,n=0,k=0; //数组上限定为100
char s;
printf("请输入数值:\n");
for(i=0; ;i++)
{
scanf("%d",&a[i]);
m++; //统计输入了多少个数
s=getchar(); //判断回车结束符
if(s=='\n')
break;
}
printf("数组中的偶数为:\n");
for(i=0;i<m;i++)
{
if(a[i]%2==0)
{
printf("%d ",a[i]); //输出偶数
n++; //统计偶数的个数
}
}
printf("\n");
printf("数组中的奇数为:\n");
for(i=0;i<m;i++)
{
if(a[i]%2!=0)
{
printf("%d ",a[i]); //输出奇数
k++; //统计偶数的个数
}
}
printf("\n");
printf("数组中偶数的个数:%d\n",n);
printf("数组中奇数的个数:%d\n",k);
}
方法二:应用数组指针实现。
#include<stdio.h>
main()
{
int a[100],i,j,m=0,n=0,k=0; //数组上限定为100
int *p;
char s;
printf("请输入数值:\n");
for(i=0; ;i++)
{
scanf("%d",&a[i]);
m++; //统计输入了多少个数
s=getchar(); //判断回车结束符
if(s=='\n')
break;
}
p=a;
printf("数组中的偶数为:\n");
for(i=0;i<m;i++)
{
if(*(p+i)%2==0)
{
printf("%d ",*(p+i)); //输出偶数
n++; //统计偶数的个数
}
}
printf("\n");
printf("数组中的奇数为:\n");
for(i=0;i<m;i++)
{
if(*(p+i)%2!=0)
{
printf("%d ",*(p+i)); //输出奇数
k++; //统计偶数的个数
}
}
printf("\n");
printf("数组中偶数的个数:%d\n",n);
printf("数组中奇数的个数:%d\n",k);
}
方法三:应用指针的指针实现(纯属多余,只是帮助了解指针的概念)。
#include<stdio.h>
main()
{
int a[100],i,j,m=0,n=0,k=0; //数组上限定为100
int *p,**q;
char s;
printf("请输入数值:\n");
for(i=0; ;i++)
{
scanf("%d",&a[i]);
m++; //统计输入了多少个数
s=getchar(); //判断回车结束符
if(s=='\n')
break;
}
p=a;
q=&p;
printf("数组中的偶数为:\n");
for(i=0;i<m;i++)
{
if(*(*q+i)%2==0)
{
printf("%d ",*(*q+i)); //输出偶数
n++; //统计偶数的个数
}
}
printf("\n");
printf("数组中的奇数为:\n");
for(i=0;i<m;i++)
{
if(*(*q+i)%2!=0)
{
printf("%d ",*(*q+i)); //输出奇数
k++; //统计偶数的个数
}
}
printf("\n");
printf("数组中偶数的个数:%d\n",n);
printf("数组中奇数的个数:%d\n",k);
}