c语言上机题,求大神

1.给出一个百分制成绩,要求输出成绩等级A、B、C、D、E。90分以上为A,81-89分为B,70-79分为C,60-69分为D,60分以下为E。(第4章课后题第8题)
① 事先编好程序,要求分别用if语句和switch语句实现。运行程序,并检查结果是否正确。
② 再运行一次程序,输入分数为负值(如-70),这显然是输入时出错,不应给出等级。修改程序,使之能正确处理任何数据。当输入数据大于100或小于0时,通知用户“输入数据错”,程序结束。
2.给一个不多于5位的正整数,要求:
①求出它是几位数;
②分别打印出每一位数字;
③按逆序打印出各位数字,例如原数为321,应输出123。

#include<stdio.h>

int main()
{  
     int score;
     while(scanf("%d",&score)!=EOF)
     {
          if(score<0) printf("输入数据错误\n");
          else if(score<60) printf("E\n");
          else if(score<70) printf("D\n");
          else if(score<80) printf("C\n");
          else if(score<90) printf("B\n");
          else if(score<101) printf("A\n");
          else printf("输入数据错误\n"); 
          switch(score/10)
          {
               case 10:;score==100? printf("A\n"):printf("输入数据错误\n");break;
               case  9:printf("A\n");break;
               case  8:printf("B\n");break;
               case  7:printf("C\n");break;
               case  6:printf("D\n");break;
               case  5:;
               case  4:;
               case  3:;
               case  2:;
               case  1:;printf("E\n");break;
               default: printf("输入数据错误\n");
          }
     }    
     return 0; 

}


温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-04-10

第一题目:

#include<stdio.h>

int main()
{
    int num;
    
    scanf("%d",&num);
    if(num<0||num>100)
    {
        printf("输入数据错\n");
        return 1;
    }
    
    /* if语句 */
    if(num>=90)
    {
        printf("A\n");
    }
    else if(num>=80&&num<=89)
    {
        printf("B\n");
    }
    else if(num>=70&&num<=79)
    {
        printf("C\n");
    }
    else if(num>=60&&num<=69)
    {
        printf("D\n");
    }
    else
    {
        printf("E\n");
    }
    
    /* switch语句 */
    switch(num/10)
    {
        case 9:
        case 10:
            printf("A\n");
            break;
        case 8:
            printf("B\n");
            break;
        case 7:
            printf("D\n");
            break;
        case 6:
            printf("D\n");
            break;
         default:
            printf("E\n");
            break;
    }
    
    return 0;
}

本回答被提问者采纳