VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 313|回复: 2

[已解决]大一新生求解

[复制链接]
75_avatar_middle
最佳答案
0 
在线会员 发表于 2019-10-20 00:15:26 | 显示全部楼层 |阅读模式
#include<stdio.h>
int main()
{
int year;
int month;
int leap;
int day;
scanf("%d,%d",&year,&month);
if(year%4==0&&year%100==0||year%400==0)
        leap=1;
else
        leap=0;
switch(month)
        {
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:day=31,printf("day=%d",day);break;
        case 4:
        case 6:
        case 9:
        case 11:day=30,printf("day=%d",day);break;
        case 2:if(leap)
                          day=29;
                   else
                          day=28;break;
        printf("day=%d",day);
        default:printf("月数无意义");
        }

return 0;
}
输入年份月份。输出天数
为什么我输什么都是月数无意义
最佳答案
77_avatar_small
2019-10-20 01:00:25
代码改成这样会更好一些:
  1. int main(int argc, char* argv[])
  2. {
  3.         int year;
  4.         int month;
  5.         int leap;
  6.         int day;

  7.         scanf("%d,%d", &year, &month);
  8.         if (year % 4 == 0 && year % 100 == 0 || year % 400 == 0)
  9.                 leap = 1;
  10.         else
  11.                 leap = 0;
  12.         switch (month)
  13.         {
  14.         case 1:
  15.         case 3:
  16.         case 5:
  17.         case 7:
  18.         case 8:
  19.         case 10:
  20.         case 12:
  21.         {
  22.                 day = 31;
  23.                 printf("day=%d", day);
  24.         }
  25.         break;
  26.         case 4:
  27.         case 6:
  28.         case 9:
  29.         case 11:
  30.         {
  31.                 day = 30;
  32.                 printf("day=%d", day);
  33.         }
  34.         break;
  35.         case 2:
  36.         {
  37.                 if (leap)
  38.                         day = 29;
  39.                 else
  40.                         day = 28;
  41.                 printf("day=%d", day);
  42.         }
  43.         break;
  44.         default:printf("月数无意义");
  45.         }
  46.         printf("\n");

  47.         return 0;
  48. }
复制代码


另外,既然你 scanf 中的两个 %d 用半角的逗号分隔了,所以你输入年份和月份的时候也同样要用半角的逗号分隔,可能楼主输入的时候当前的输入法是中文的全角,所以导致月份不对

大一新生求解




上一篇:《实用VC编程之玩转字符串》第5课:扩展C++STL中的string方便使用
下一篇:VC6.0缺少dll
77_avatar_middle
最佳答案
31 
online_vip 发表于 2019-10-20 01:00:25 | 显示全部楼层    本楼为最佳答案   
代码改成这样会更好一些:
  1. int main(int argc, char* argv[])
  2. {
  3.         int year;
  4.         int month;
  5.         int leap;
  6.         int day;

  7.         scanf("%d,%d", &year, &month);
  8.         if (year % 4 == 0 && year % 100 == 0 || year % 400 == 0)
  9.                 leap = 1;
  10.         else
  11.                 leap = 0;
  12.         switch (month)
  13.         {
  14.         case 1:
  15.         case 3:
  16.         case 5:
  17.         case 7:
  18.         case 8:
  19.         case 10:
  20.         case 12:
  21.         {
  22.                 day = 31;
  23.                 printf("day=%d", day);
  24.         }
  25.         break;
  26.         case 4:
  27.         case 6:
  28.         case 9:
  29.         case 11:
  30.         {
  31.                 day = 30;
  32.                 printf("day=%d", day);
  33.         }
  34.         break;
  35.         case 2:
  36.         {
  37.                 if (leap)
  38.                         day = 29;
  39.                 else
  40.                         day = 28;
  41.                 printf("day=%d", day);
  42.         }
  43.         break;
  44.         default:printf("月数无意义");
  45.         }
  46.         printf("\n");

  47.         return 0;
  48. }
复制代码


另外,既然你 scanf 中的两个 %d 用半角的逗号分隔了,所以你输入年份和月份的时候也同样要用半角的逗号分隔,可能楼主输入的时候当前的输入法是中文的全角,所以导致月份不对

大一新生求解
75_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2019-10-20 17:13:50 | 显示全部楼层
Health 发表于 2019-10-20 01:00
代码改成这样会更好一些:

了解了,谢谢
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号 )|网站地图wx_jqr

GMT+8, 2020-10-22 13:54

Powered by CcTry.CoM

© 2009-2020 cctry.com

快速回复 返回顶部 返回列表