鱼C论坛

 找回密码
 立即注册
查看: 2354|回复: 4

新手求教 输入日期判断这这年中的第几天?

[复制链接]
发表于 2011-11-14 19:42:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
用if语句可以运行,想用switch语句试试 发现程序都是正确 就是编译时输入日期,都不会出现结果,都是press any key to continue 本人自学 希望大侠们帮助

#include<stdio.h>
void main()
{
int a,b,c,d;
printf("please input the year/month/day\n");

scanf("%d,%d,%d",&a,&b,&c);
if(a%4==0 && a%100!=0 || a%400==0)
{
switch(b)
{
case 1:d=c; break;
case 2:d=31+c; break;
case 3:d=60+c; break;
case 4:d=91+c; break;
case 5:d=121+c; break;
case 6:d=152+c; break;
case 7:d=182+c; break;
case 8:d=213+c; break;
case 9:d=244+c; break;
case 10:d=274+c; break;
case 11:d=304+c; break;
case 12:d=335+c; break;
printf("the total day d=%d\n",d);
}

}
else
{
switch(b)
{
case 1:d=c; break;
case 2:d=31+c; break;
case 3:d=59+c; break;
case 4:d=90+c; break;
case 5:d=120+c; break;
case 6:d=151+c; break;
case 7:d=181+c; break;
case 8:d=212+c; break;
case 9:d=243+c; break;
case 10:d=273+c; break;
case 11:d=303+c; break;
case 12:d=334+c; break;
printf("the total day d=%d\n",d);
}

}
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-14 19:58:02 | 显示全部楼层
本帖最后由 C语言 于 2011-11-14 20:16 编辑

你输入的时候加上逗号了么?  或者 if(a%4==0 && a%100!=0 || a%400==0)  你可以这样看下if((a%4==0 && a%100!=0 )|| (a%400==0))  我想应该不关这事的- -..

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-14 20:17:40 | 显示全部楼层
printf放到switch语句块的外面,if(else)语句块的里面试试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-14 21:55:39 | 显示全部楼层
  1. #include<stdio.h>

  2. void main()
  3. {
  4.     int a,b,c,d;
  5.     printf("please input the year/month/day\n");
  6.    
  7.     scanf("%d%d%d",&a,&b,&c);
  8.    
  9.     if(a % 4 == 0)      
  10.     {
  11.         if ((a % 100 == 0 && a % 400 == 0) || (a % 100 != 0))   //希望你可以加上括号,
  12.                                                                 //这样别人可以看的更清楚;
  13.         {
  14.             switch(b)
  15.             {
  16.             case 1:d=c; break;
  17.             case 2:d=31+c; break;
  18.             case 3:d=60+c; break;
  19.             case 4:d=91+c; break;
  20.             case 5:d=121+c; break;
  21.             case 6:d=152+c; break;
  22.             case 7:d=182+c; break;
  23.             case 8:d=213+c; break;
  24.             case 9:d=244+c; break;
  25.             case 10:d=274+c; break;
  26.             case 11:d=304+c; break;
  27.             case 12:d=335+c; break;
  28.             }
  29.         }
  30.     }
  31.    
  32.     else
  33.     {
  34.         switch(b)
  35.         {
  36.         case 1:d=c; break;
  37.         case 2:d=31+c; break;
  38.         case 3:d=59+c; break;
  39.         case 4:d=90+c; break;
  40.         case 5:d=120+c; break;
  41.         case 6:d=151+c; break;
  42.         case 7:d=181+c; break;
  43.         case 8:d=212+c; break;
  44.         case 9:d=243+c; break;
  45.         case 10:d=273+c; break;
  46.         case 11:d=303+c; break;
  47.         case 12:d=334+c; break;
  48.         }
  49.     }

  50.     printf("the total day d=%d\n",d);     //printf放在switch里面了,执行break后switch
  51.                                           //就退出了,呵呵,想那样你一辈子也打印不出来啊!!
  52. }
复制代码
同意上面说的!!!{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-11-15 21:04:29 | 显示全部楼层
万分感谢:lol:lol:lol:lol:lol:lol
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-19 14:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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