【问题标题】:How to enter if statement inside a for loop? [closed]如何在for循环中输入if语句? [关闭]
【发布时间】:2019-04-09 12:03:13
【问题描述】:

我正在尝试计算 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】:

你的第一份工作是写scanf("%d", &amp;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 的增量。

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

你的分配num1 = num2; 也有问题,没有什么是你不能用调试器解决的,你也会意识到你需要average = sum / 5.0f; 来避免截断。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多