【发布时间】:2021-05-17 19:17:07
【问题描述】:
我有 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);
【问题讨论】:
-
如果您需要代码方面的帮助,请向我们展示您的代码。
-
请在问题中包含代码作为文本 (formatted in a code block),而不是作为任何人都无法复制/粘贴以进行测试的图像的链接。
-
代码作为文本而不是图像
-
1.检查来自
scanf的返回值 - 请参阅手册页。 2.如果printf中没有新行,则在后面添加fflush(stdout)以便显示。