题目描述:
Bob 准备参加IQ 测试。他需要从 n 个数字中找出一个与众不同或者不符合规律(偶数列中的一个奇数或者是奇数列中的一个偶数)的数字。你需要帮助他检查答案。
解题思路:
首先要知道这个数列是奇数列还是偶数列,然后遍历数列找出不同的那个数。
*判断方法:*只要有两个偶数就是偶数列(奇数列同理)。
#include <stdio.h>
int main(void)
{
int i,n,a[110];
int o=0,e=0;//用来标记奇数o和偶数e出现的次数
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
//判断这串数字的规则
for(i=1;i<=n;i++)
{
if(a[i] % 2 == 0)
e++;
else
o++;
if(e == 2 || o == 2)
break;
}
//分两种规则找出不同的数
if(o == 2)//数列是奇数列
{
for(i=1;i<=n;i++)
if(a[i] % 2 == 0)
printf("%d",i);
}
else//数列是偶数列
{
for(i=1;i<=n;i++)
if(a[i] % 2 != 0)
printf("%d",i);
}
return 0;
}