gpt4 book ai didi

c - 程序中的额外输出

转载 作者:行者123 更新时间:2023-11-30 16:26:08 26 4
gpt4 key购买 nike

我一直在尝试创建一个程序,如果后续数字的平均值小于该数字,则该程序会打印数组中的数字。

这是我写的代码

            #include <stdio.h>

int main(void) {
int a,b[100],i,m,av=0,kk,p=0,q;
scanf("%d",&a);
for(i=0;i<a;i++)
{
scanf("%d",&b[i]);
}
for(i=0;i<a;i++)
{
kk=b[i];

for(m=i+1;m<a;m++)
{
av=av+b[m];
p=p+1;
}
q=av/p;
if(kk>q)
{
printf("%d\n",kk);
}
}
}

我输入的内容是7 - 元素数量

(现在是元素)

23

34

12

21

14

26

33

输出应该是 34 和 33,但输出中还显示 26。我一直试图找出错误,但陷入了死胡同。感谢帮助。谢谢

最佳答案

**

您犯了两个错误

**

  1. 当 i 指向最后一个元素时,m 正在检查不存在的第 (i+1) 个元素,因此循环直到最后一个元素。

  2. 对每个元素检查平均值后,制作 av 和 p值 0。最后打印最后一个元素,该元素始终为 true

           #include<stdio.h>
    int main(void) {
    int a,b[100],i,m,av=0,kk,p=0,q=0;
    scanf("%d",&a);
    for(i=0;i<a;i++)
    {
    scanf("%d",&b[i]);
    }
    for(i=0;i<a-1;i++)
    {
    kk=b[i];
    av=0;
    p=0;
    for(m=i+1;m<a;m++)
    {
    av +=b[m];
    p +=1;
    }
    q = av/p;
    if(kk>q)
    {
    printf("%d ",kk);
    }
    }
    if(i==a-1)
    {
    printf("%d ",b[a-1]);
    }
    }

关于c - 程序中的额外输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53149219/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com