循环时,对下标判断,对偶数下标和奇数下标进行处理
对于偶数下标,即a[0]和a[2],对其内容进行进一步判断,如果内容为偶数,则递加,如内容为奇数,则递减,这样的话,相当与:
原先a[0]=2, a[2]=5,处理结果得到a[0]=3, a[2]=4
对于奇数下标,置零处理。即a[1]=0, a[3]=0,所以最后结果是3,0,4,0,选择C答案
程序的功能就是:
如果数组 a 中元素的下标为奇数,则把当前元素置0;
如果数组元素 a 中元素下标为偶数:
1).当前元素是偶数,把当前元素加1.
2).当前元素是奇数,把当前元素减1.
程序注释如下:
#include
void main()
{
int a[]={2,3,5,4},i;
for(i=0;i<4;i++)
switch(i%2)//下标i为偶数,进入case0;i为奇数,进入case1
{//外switch
case 0:
//如果当前元素是偶数,进入内switch 的case0,
//否则进入内switch的case1
switch(a[i]%2)
{//内switch
case 0:a[i]++;//元素加1
break;//停止内switch
case 1:a[i]--;//元素减1
}
break;//停止外switch
case 1:a[i]=0;//下标奇数,元素置0
}
for(i=0;i<4;i++)//输出改变后的数组
printf("%d",a[i]);
printf("\n");
}
这个题的答案是C。题型还可以,就是写的有点复杂。其中运用for循环,switch转换语句,只要知道这两个语句的用法,然后要细心的一个一个考虑i的取值,就不难得出答案。这对于初学者的逻辑有很好帮助。建议你还是好好看一下吧,不要老是问人。