版本声明:本文转载于公众号TeachPlus
C语言面试题---数组
阅读下面这题:
有一个数组:int arr[20] ={1,0,1,0,0,0,1,1,1,0,0,1,1,0,1,0,0,1,1,1};
数组中全部都是由0和1组成,是写程序,计算数组中0,1的个数
要求:
不得使用任何形式的判断语句
包括但不限于if、switch、三目与算符,或以循环代替判断的方法。
本题解析
# include <stdio.h>
int main()
{
int arr[20] = {1,0,1,0,0,0,1,1,1,0,0,1,1,0,1,0,0,1,1,1};
int tmp[2] = {0,0};
int i = 0;
for(i = 0 ; i < 20 ; i++)
{
tmp[arr[i]]++;
}
printf("there are %d 0,and %d 1\n",tmp[0],tmp[1]);
return 0;
}