酷爱猩猩 发表于 2017-11-19 13:07:45

高手能不能帮我看看我main.c哪里出现问题了

main.c

#include <stdio.h>
#include <stdlib.h>

char getGradeMathLevel (int gradeMath);

int main()
{
   int gradeMath,gradeSum=0,gradeAvg=0;
   char gradeMathLevel=10;
   int i=0;
   for(i=0;i<10;i++){
      printf("请输入第%d的成绩:",i+1);
      scanf("%d",&gradeMath);
    }
    gradeMathLevel = getGradeMathLevel(gradeMath);
    for(i=0;i<10;i++)
      printf("第%d个成绩%d的成绩的等级为:%c \n",i,gradeMath,gradeMathLevel);

    printf("So Easy!!!!!\n");
    return 0;
}



grade.c

char getGradeMathLevel (int gradeMath){
    if (0<=gradeMath && gradeMath<60 )
    {
      return 'E';
    }
    else if (60<=gradeMath && gradeMath<70 )
    {
      return 'D';
    }
    else if (70<=gradeMath && gradeMath<80 )
    {
      return 'C';
    }
    else if (80<=gradeMath && gradeMath<90 )
    {
      return 'B';
    }
    else if (90<=gradeMath && gradeMath<=100)
    {
      return 'A';
    }
    else
    {
      return '0';
    }
}


alltolove 发表于 2017-11-19 13:21:22

char gradeMathLevel=10;这个好像赋值成整型了吧

BngThea 发表于 2017-11-19 13:21:29

1 你声明的getGradeMathLevel的函数形参列表是一个int,而你实际调用却传递给了一个指针(数组名)
gradeMathLevel = getGradeMathLevel(gradeMath);
2 应该对应用一个数组存储每一个人的等级 char gradeMathLevel;
3 打印结果的时候应该依次取出表中元素
printf("第%d个成绩%d的成绩的等级为:%c \n",i,gradeMath,gradeMathLevel);

酷爱猩猩 发表于 2017-11-19 13:33:47

BngThea 发表于 2017-11-19 13:21
1 你声明的getGradeMathLevel的函数形参列表是一个int,而你实际调用却传递给了一个指针(数组名)
gradeM ...

谢谢,可以了{:5_92:}

BngThea 发表于 2017-11-19 13:37:43

酷爱猩猩 发表于 2017-11-19 13:33
谢谢,可以了

给最佳哟{:10_279:}
页: [1]
查看完整版本: 高手能不能帮我看看我main.c哪里出现问题了