xiaoyu12311 发表于 2020-2-27 09:51:35

新人求助,大佬帮忙看看代码哪里有问题!

本帖最后由 xiaoyu12311 于 2020-2-27 09:55 编辑

自己写了一个很简单的代码,功能是按回车就求输入的全部数字平均数,但是运行以后总是忽略第一个输入的数,是哪里要加什么吗?
#include <stdio.h>
int main ()
{
      int a,j=0,i;
      printf("输入数 ! \n");      
    for (i=0;getchar() != '\n';i++)
      {
                scanf("%d",&a);
                j=j+a;
      }
      printf("%d   %f \n",i,(float)j);
      if (i==0)
      {
      printf ("0 个数的平均数是 0 !");      
      }
      if (i!=0)
      {
      printf ("%d 个数的平均数是 %.2f !",i,(float)(j/i));      
      }
      
      return 0;
}

zltzlt 发表于 2020-2-27 09:52:35

https://fishc.com.cn/forum.php?mod=viewthread&tid=52272&extra=page%3D1%26filter%3Dtypeid%26typeid%3D441

一个账号 发表于 2020-2-27 09:54:11

用 "<>" 来发代码,不然会认为是斜体

xiaoyu12311 发表于 2020-2-27 09:57:21

一个账号 发表于 2020-2-27 09:54
用 "" 来发代码,不然会认为是斜体

谢谢,第一次用,还不知道怎么发图片{:5_108:}

一个账号 发表于 2020-2-27 09:59:20

xiaoyu12311 发表于 2020-2-27 09:57
谢谢,第一次用,还不知道怎么发图片

新鱼友无法把图片上传到这个服务器,如果要发图片把图片放到图床里。

zltzlt 发表于 2020-2-27 10:34:57

scanf 不能和 getchar 混用

#include <stdio.h>
int main()
{
    int a, i;
    float j = 0;
    char c = 'a';
    printf("输入数 ! \n");
    for (i = 0;;)
    {
      c = getchar();
      if (c == ' ')
            continue;
      if (c == '\n')
            break;
      a = c - '0';
      j = j + a;
      i++;
    }
    printf("%d   %f \n", i, j);
    if (i == 0)
    {
      printf("0 个数的平均数是 0 !");
    }
    if (i != 0)
    {
      printf("%d 个数的平均数是 %.2f !", i, (j / i));
    }
    return 0;
}
页: [1]
查看完整版本: 新人求助,大佬帮忙看看代码哪里有问题!