C程序带有switch语句

时间:2018-04-22 17:03:21

标签: c

在下面的C程序中,我需要在输入等级时使用退格键,它分为两部分,否则程序无法正常工作。请帮助我如何在不使用输入值空间的情况下正常运行程序。 意味着如果输入值是45,那么它应该取4作为& f和5作为& l。 在100的情况下,它应该取10作为& f和0作为& l。谢谢。

#include <stdio.h>

 int main(void)
 {
 int f,l;
 printf("Enter numerical grade:");
 scanf("%d %d",&f,&l);

 switch(f){
 case 0: printf("Letter grade: F");
 break;
 case 1: printf("Letter grade: F");
 break;
 case 2: printf("Letter grade: F");
 break;
 case 3: printf("Letter grade: F");
 break;
 case 4: printf("Letter grade: F");
 break;
 case 5: printf("Letter grade: F");
 break;
 case 6: printf("Letter grade: D");
 break;
 case 7: printf("Letter grade: C");
 break;
 case 8: printf("Letter grade: B");
 break;
 case 9: printf("Letter grade: A");
 break;
 case 10: printf("Letter grade: A");
 break;
 default :
     printf("Invalid grade\n" );
 break;


}

return 0;
}

2 个答案:

答案 0 :(得分:1)

我的建议是获得一个号码,scanf("%d", &f)。然后通过除法和mod得到你想要的值,/%

为了得到你所拥有的,你将有两个以上的变量,第一个将包含除最后一个数字之外的所有变量(如果f <10则为0),第二个将包含最后一个数字。

int var1 = f / 10;
int var2 = f % 10;

答案 1 :(得分:0)

将您的scanf功能更改为:

scanf("%d", &f);

然后添加这些行以获得正确的值:

l = f % 10;
f /= 10;

这就行了!