您的位置:首页 > 编程语言 > C语言/C++

C语言 统计输入任意多数字的偶数和奇数的个数,并输出相应的内容

2015-07-15 15:29 537 查看
方法一:单纯应用数组实现。

#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);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息