| 
 | 
 
5鱼币 
看了小甲鱼老是数组的最后一张视频,是讲C语言怎么处理遇到的非法输入的,想到以前小甲鱼老是讲的循环中的一道题,可以添加一个非法输入处理(以前不会,),现在会了,又把题翻出来做了一遍,自己添加了个处理非法输入,可是貌似没有用,各位帮忙看一下,, 
这个是求判断这一天是这一年的第几天 的  上面我用的  WHILE  来判断一下输入,但貌似没有用我输入英文的时候  
- #include<stdio.h>
 
 - #include<conio.h>
 
 - void main()
 
 - {
 
 -         int year,month,day,leap,sum=0;
 
 -         
 
 -         printf("请输入年月日  :\n");
 
 -         while(scanf("%d,%d,%d",&year,&month,&day)!=3);
 
 -         {
 
 -                 printf("输入错误!请重新输入!!\n");
 
 -                 getchar();
 
 -         }
 
 -         switch(month)
 
 -         {
 
 -         case 1:sum=0;
 
 -         case 2:sum=31;
 
 -         case 3:sum=59;
 
 -         case 4:sum=90;
 
 -         case 5:sum=120;
 
 -         case 6:sum=151;
 
 -         case 7:sum=181;
 
 -         case 8:sum=212;
 
 -         case 9:sum=243;
 
 -         case 10:sum=273;
 
 -         case 11:sum=304;
 
 -         case 12:sum=335;
 
 -         }
 
 -         sum=sum+day;
 
 -         if(year%4==0&&year%100!=0||year%400==0)
 
 -         {
 
 -                 leap==1;
 
 -         }
 
 -         else
 
 -         {
 
 -                 leap==0;
 
 -         }
 
 -         if(leap==1&&month>2)
 
 -         {
 
 -                 sum=sum++;
 
 -         }
 
 -         printf("%d\n",sum);
 
 - }
 
 
  复制代码 
 
 
 |   
 
 
最佳答案
查看完整内容 
目测scanf("%d,%d,%d",&year,&month,&day)!=3  有问题  这是嘛意思!!你可以把这个语句改一下,不熟这中用法,就用自己熟悉的,可以把scanf("%d,%d,%d",&year,&month,&day)放 WHILE 上面while ()  的()中放判断year 和month和day的语句! 
 
 
 
 
 
 
 |