c - 为什么我不能在我的代码中添加其他关于给学生评分的字符?
问题描述
在下面的代码中,a、b、c、d、e是“科目”(如在课堂上),变量perc是“科目”分数的平均值。
我不知道代码有什么问题,在写第一个主题的标记时按回车后我什么也写不出来。
//Calculating the grade of students
#include<stdio.h>
main()
{
int a,b,c,d,e ;
printf("Enter the marks of the following subjects \n") ;
scanf("%d ,%d ,%d ,%d ,%d"), &a,&b,&c,&d,&e ;
float perc ;
perc= (a+b+c+d+e)/5 ;
printf("Your percentage is %f \n", perc);
if (perc>90)
printf("You have A grade") ;
else if (perc>70)
printf("You have B grade") ;
else if (perc>50)
printf("You have C grade") ;
else if (perc>35)
printf("You have D grade") ;
else if (perc<35)
printf("Failed") ;
}
将不胜感激一些帮助
解决方案
问题是在读取多个int时使用scanf() 以便这样做,您需要读取scanf()中的“,”
因此替换:
scanf("%d ,%d ,%d ,%d ,%d"), &a,&b,&c,&d,&e;
在:
scanf("%d %d %d %d %d", &a,&b,&c,&d,&e);
并除以 5.0 而不是 5:
perc= (a+b+c+d+e)/5.0 ;
现在它将按预期工作。
PS你也有放置“)”的问题
推荐阅读
- javascript - WebView SpeedTest 结果总是低于 CustomTab 或 Chrome
- c# - LINQ to NHibernate join - 查询每组的最新 N - NotSupportedException
- node.js - Asyncronous module function is not working
- javascript - 异步 try/catch 中的多个等待。如何使一个条件?
- firebase - Firebase 查询和规则
- excel - 提取引号之间的文本并移动到下一个单元格/行 vba
- javascript - jquery每个函数和拖放jquery ui
- azure - Azure AD B2C 将用户流与应用一对一关联
- r - 删除向量中前 10 个字符之后的所有字符 (R)
- php - 为什么 DateTime::createFromFormat() 返回一个布尔值并显示数据丢失错误?