-5

在一个简单的 c 程序上需要帮助。编写一个 TestValue 程序。程序运行但不返回字母等级。这就是我到目前为止所拥有的。

#include <stdio.h>
int main()
{
        double testValue;
        char getGrade;
        printf("Enter your score between o and 100:");
        scanf("%if", &testValue);
        printf("Your grade is %c\n", getGrade);
        return 1;
}
char getGrade(double value)
{
  if(value>=90)
    return'A';
  else if(value>=80)
    return'B';
  else if(value>=70)
    return'C';
  else if(value>=60)
    return'D';
  else if(value>=50)
    return'F';
  return 1;
}
4

3 回答 3

2

%if应该%lf

你还没有调用getGrade函数

您有两个具有相同名称的标识符。

删除char getGrade;声明并调用该getGrade函数。

于 2012-10-10T23:06:05.947 回答
2

函数和变量使用相同的名称是一个坏主意。

你需要:

  • 更改%if%lf
  • 消除char getGrade;
  • 调用函数时,应该是getGrade(testValue)
  • 将函数更改char getGrade(double value)为:
char getGrades(double value)    
{    
  if(value>=90)    
    return 'A';    
  else if(value>=80)    
    return 'B';    
  else if(value>=70)    
    return 'C';    
  else if(value>=60)    
    return 'D';    
  return 'F';    
}
于 2012-10-11T00:04:24.047 回答
0

getGrade 需要一个参数 getGrade(50) 例如

于 2012-10-10T23:05:13.637 回答