首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

代码找茬,大伙儿来修改吧,很简单的

2012-09-16 
代码找茬,大家来修改吧,很简单的[codeC#][/code]#include stdio.h#include stdlib.hmain(){int a,M,H

代码找茬,大家来修改吧,很简单的
[code=C#][/code]#include <stdio.h>
#include <stdlib.h>
main()
{
  int a,M,H,L,i;
  float b;
  char c[8];
  printf("请输入成绩:");
  scanf("%f",&b);
  while(b)
  {
  printf("\a\a");
  printf("对不起,输入成绩不能为小数,请重新输入!!!\n");
  scanf("%d",&b);
  }
  for(i=0;i<8;i++)
  scanf("%c",&c[i]);
  while(c[i])
  {
  printf("\a\a");
  printf("系统无法识别此成绩,请重新输入!!!\n");
  scanf("%c",&c[i]);
  }
  scanf("%d",&a);
  while(a<0||a>100)
  {
  printf("\a\a");
  printf("成绩输入错误,请重新输入!!!\n");
  scanf("%d",&a);
  }
  if(a>=85)
  M=a;
  else
  if(a>=60)
  H=a;
  else
  if(a<60)
  L=a;
  switch(a)
  {
  case 'M': printf("成绩优秀\n");break;
  case 'H': printf("成绩良好\n");break;
  case 'L': printf("成绩不及格\n");break;
  }
  system("pause");
  return 0;
}

[解决办法]
LZ你在判断输入是否合法时,也太有意思了吧?直接判断输入数据占用的内存大小不就可以了。一般来说,char是一个字节,int是2个字节,float是4个。你可以在你机器上调试一下,看看具体多少。。而且你的第一个判断也有错误,如果第一次b输入的是整数,也会被你误判?whil(b)是在b为非负时都成立,不管是float型还是int型!

热点排行