Что ж, ожидаемый ввод - любое целое число, а вывод - информация о отметке.Если ваш ввод является неожиданным, как символ, тогда вы получите что-то неожиданное, верно?
scanf("%d" ,& num);
Заполнитель% d в scanf требует целочисленного ввода, поэтому он не будет читать целочисленные значения, если вы предоставите егосимвол.
, чтобы исправить это, вы можете добавить оператор проверки ошибки:
#include<stdio.h>
#include<stdlib.h> /*for exit*/
int main(){
int num;
printf("Enter Your number ");
if(scanf("%d" ,& num) <= 0)
{
printf("Bad input!\n");
exit(1);
}
if(num>79)
{
printf("Congratulation you got A+");
}
else if(num>69)
{
printf("Congratulation you got A ");
}
else if(num>59)
{
printf("Congratulation you got A-");
}
else if(num>49)
{
printf("Congratulation you got B");
}
else if(num>39)
{
printf("Congratulation you got C");
}
else if(num>32)
{
printf("Congratulation you got D");
}
else
{
printf("You are a student like me(Shuvo) \nBetter Luck next time");
}
return 0 ;
}