A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

Cesar-Bear

中级黑马

  • 黑马币:

  • 帖子:

  • 精华:

第一个代码:
#include<stdio.h>
int main(int argc,const char * argv[]){
int score;
printf("请输入一个分数:\n");
scanf("%d",&score);
  if(score<0||score>100){
  printf("你考这个成绩,你妈妈知道么?");
  return 0;
}
int s=score/10;
switch(s){
   case 0:
   case 1:
   case 2:
   case 3:
   case 4:
   case 5:
      printf("E\n");
      break;
   case 6:
      printf("D\n");
      break;
   case 7:
      printf("C\n");
      break;
   case 8:
      printf("B\n");
      break;
   case 9:
   case 10:
      printf("A\n");
      break;
}
}


第二个代码
#include<stdio.h>
int main(int argc,const char * argv[]){
int score;
printf("请输入一个分数:\n");
scanf("%d",&score);
int s=score/10;
switch(s){
   case 0:
   case 1:
   case 2:
   case 3:
   case 4:
   case 5:
      printf("E\n");
      break;
   case 6:
      printf("D\n");
      break;
   case 7:
      printf("C\n");
      break;
   case 8:
      printf("B\n");
      break;
   case 9:
   case 10:
      printf("A\n");
      break;
   default:printf("你考这个成绩,你妈妈知道么?\n");   
}
}
请问第一个代码和第二个这个代码有什么区别么?{:2_33:}

3 个回复

倒序浏览

回帖奖励 +2

第一个代码是校验输入的分数是否真实,超过100或者是低于0分都不会执行swich语句,而是直接打印"你考这个成绩,你妈妈知道么",第二段代码是没有这个校验值的,即使是输入了160的分数也会被判断为A,不知道我说的对不对
回复 使用道具 举报
楼上回答不对,第二段如果输入160分,那么s=16,default语句会执行,提示你靠这个成绩你妈妈知道么,第一段代码的if语句和第二段代码的default语句都是提示分数输入错误,只是if直接一些
回复 使用道具 举报
明白了明白了,谢谢!!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马