我有 4 个元素,比如说 p1、p2、p3、p4。它们的值都可以为 0 或除 0 以外的任何值。(低和高)。我需要等于 4 的计数器。当这些元素中的任何一个为高时,计数器应该为 -1。例如,用户输入以下值:p1=0、p2=1、p3=1、p4=0。最终值应该是 2。所以我尝试了 4 个元素的数组,以及一个计数器,每次一个元素不为 0(它很高)时都会减少值。此代码仅在我全部为 0 或全部为高时才有效。我能改变什么?
int main()
{
int array[4]={0,0,0,0};
printf("Enter value p1:");
scanf("%d", &array[0]);
printf("Enter value p2:");
scanf("%d", &array[1]);
printf("Enter value p3:");
scanf("%d", &array[2]);
printf("Enter value p4:");
scanf("%d", &array[3]);
int i=4;
int j=0;
if (array[0]!=0)
{
j++;
if(array[1]!=0)
{
j++;
if (array[2]!=0)
{
j++;
if (array[3]!=0)
{
j++;
}
}
} }
int z=i-j;
printf("%d", z);