2301_77290841 2023-04-03 18:53 采纳率: 100%
浏览 180
已结题

while循环结束不了,printf未输出

#define  _CRT_SECURE_NO_WARNINGS 
#include<stdio.h>
#include<math.h>
int main()

```c
{
    float c,h,p,GP,GPA,sum1 = 0, sum2 = 0;
    while (scanf("%f%f", &c, &h) != EOF)
    {
        if (c >= 60 || c <= 100)
        {
            p = ((100 - c), 2);
            GP = 4 - (3.0 / 1600.0) * p;
        }
        else if (c >= 0 || c < 60)
        {
            GP= 0;
        }
        sum1 = sum1 + h;
        sum2 = sum2 + GP * h;
    }
    GPA = sum2 / sum1;
    printf("总GPA为:%.2f", GPA);
    return 0;
}

while循环结束不了,printf没有显示
```

  • 写回答

12条回答 默认 最新

  • 社区专家-Monster-XH 2023-04-03 18:58
    关注

    修改如下

    
    #define  _CRT_SECURE_NO_WARNINGS 
    #include<stdio.h>
    #include<math.h>
    int main()
    {
        float c, h, p, GP, GPA, sum1 = 0, sum2 = 0;
        while (scanf("%f%f", &c, &h) == 2)
        {
            if (c >= 60 && c <= 100)
            {
                p = pow((100 - c), 2);
                GP = 4 - (3.0 / 1600.0) * p;
            }
            else if (c < 60 && c >= 0)
            {
                GP = 0;
            }
            sum1 = sum1 + h;
            sum2 = sum2 + GP * h;
        }
        GPA = sum2 / sum1;
        printf("总GPA为:%.2f", GPA);
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(11条)

报告相同问题?

问题事件

  • 系统已结题 4月14日
  • 已采纳回答 4月6日
  • 创建了问题 4月3日