从N到1000的数字平均值(包括),不包括被6和17整除的偶数

时间:2019-11-24 11:59:55

标签: c loops average

首先我必须输入N,N成为要检查的第一个数字。

输入:79

输出应为:537.70。

int sum=0;
      while(1)
        {
        scanf("%d", &n);
        if(n>=10 && n<80)
        {
            break;
        }
        printf("New output:\n");
    }

for(i=n;i<=1000;i++)
{
    if(i%2==0 && i%6!=0 && i%17!=0)
    {
        sum+=i;
    }

我没有将(float)sum / N求平均值,因为我对sum做错了。

更多输入输出:

输入:10输出:505.21

输入:44输出:521.18

1 个答案:

答案 0 :(得分:1)

除了保持“运行总和”外,您还需要保留使用多少个数字的计数,以便正确计算平均值:

#include <stdio.h>

int main(void)
{
    int n;
    printf("Enter start number: ");
    scanf("%d", &n);
    int sum = 0, count = 0;
    for (int i = n; i <= 1000; ++i) {
        if (!(i % 2) && (i % 6) && (i % 17)) {
            sum += i;
            ++count;
        }
    }
    printf("Average is: %.2f\n", (double)sum / (double)count);
    return 0;
}
  

输入:79
  输出应为:537.70。

您确定该值吗?我得到538.70-但是我得到了您引用的其他测试用例的给定值。