C語言 統計輸入任意多數字的偶數和奇數的個數,並輸出相應的內容
阿新 • • 發佈:2019-02-03
方法一:單純應用陣列實現。
#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);
}