如何在for循环中输入if语句? [关闭]

问题描述 投票:0回答:1

我正在尝试计算5个数字的平均值,所有数字都低于10.任何帮助都会受到高度赞赏,因为我还处于学习的早期阶段。

int num1, num2;
  int sum, i;
  float average;

  printf ("Enter five numbers to calculate the average:");

  for (i = 0; i < 5; i++){
      scanf ("%d", num1);

      if (num1 > 10){
      printf ("You can't enter this number\n");
      printf ("Enter five numbers to calculate the average:");
      scanf ("%d", num1);
    }
    else{
        num1=num2;
    }
    sum += num2;
  }

  average = sum / 5;
  printf ("Average is: %f", average);
c for-loop if-statement
1个回答
1
投票

你的第一份工作是写scanf("%d", &num1);,注意指针。最后你应该检查scanf的返回值 - 如果读取了一个数字,它应该是1。

一种方式(不是每个人的口味)将重写if身体

if (num1 > 10){
    printf ("You can't enter this number\n");
    printf ("Enter five numbers to calculate the average:");
    --i;
} ...

这颠倒了i的增量。

另一种方式(我更喜欢)将只增加i分支中的else,并从第三个i++循环表达式中删除for

你的任务num1 = num2;也是错误的,没有你用调试器无法解决的,你也会意识到你需要average = sum / 5.0f;来避免截断。

© www.soinside.com 2019 - 2024. All rights reserved.