Closed. This question needs details or clarity。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
                        
                        2年前关闭。
                                                                                            
                
        
在下面的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;
}

最佳答案

我的建议是得到一个数字,scanf("%d", &f)。然后,通过除法和模数/%获得所需的值。

要获得所需的信息,您将有两个变量,第一个变量将包含除最后一位数字以外的所有变量(如果f

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

10-07 13:26
查看更多