当前位置: 代码迷 >> C语言 >> 求助 今天是今年的第几天??
  详细解决方案

求助 今天是今年的第几天??

热度:119   发布时间:2007-09-13 16:18:18.0
求助 今天是今年的第几天??

1.#include <stdio.h>
void main()
{
int day=0,month,year,sum=0,temp=0;
printf("\nplease input year,month,day\n");
scanf("%4d,%2d,%2d",&year,&month,&day);

if((year%400==0)||(year%4==0&&year%100!=0))
temp=1;
if(month<0&&month>12)
{
printf("The month is erroy.Put the number");
scanf("%d",&month);
}
if(day<0&&day>31||(month>2&&day>28)||(temp=1&&month>29))
{
printf("The day is erroy.Put the number");
scanf("%d",&day);
}


switch(month)/*先计算某月以前月份的总天数*/
{
case 1:sum=0;break;
case 2:sum=31;break;
case 3:sum=59;break;
case 4:sum=90;break;
case 5:sum=120;break;
case 6:sum=151;break;
case 7:sum=181;break;
case 8:sum=212;break;
case 9:sum=243;break;
case 10:sum=273;break;
case 11:sum=304;break;
case 12:sum=334;break;

}

if(temp=1)
{
if(month>2)


printf("It is the %dth day.\n",sum+day+1);

else

printf("It is the %dth day.\n",sum+day);
}
else

printf("It is the %dth day.\n",sum+day);
}


************************************************************************************

看过n 多次,思路因该没问题 啊
可就是输不出答案
而且对输入数据出错的if 判断似乎也没起到作用
哪位大哥能帮帮我看看
小弟感激不尽

搜索更多相关的解决方案: include  number  

----------------解决方案--------------------------------------------------------
if(month<0&&month>12)


----------------解决方案--------------------------------------------------------
if(day<0&&day>31||(month>2&&day>28)||(temp=1&&month>29))
----------------解决方案--------------------------------------------------------

你会把电脑玩死的


----------------解决方案--------------------------------------------------------

小弟粗心大意
让大侠见笑了

----------------解决方案--------------------------------------------------------
会perl语言吗 我这里有个源码
很简单的
#!c:\perl\bin
@array=($a,$b,$c,$d,$e,$f,$g,$h,$i)=localtime();
print(" The time is:\n $array[2]:$array[1]:$array[0]\n");
$month=$array[4]+1;
print(" The day is: \n $month,$array[3]\n");
if($array[4]==9&&$array[3]==3){
print(" Now,today is HaiTaoXie's birthday\n");}
if($array[6]==1){
print(" Today is Monday\n");}
elsif($array[6]==2){
print(" Today is Tuesday\n");}
elsif($array[6]==3){
print(" Today is Wednesday\n");}
elsif($array[6]==4){
print(" Today is Thursday\n");}
elsif($array[6]==5){
print(" Today is Friday\n");}
elsif($array[6]==6){
print(" Today is saturday\n");}
elsif($array[6]==0){
print(" Today is Sunday\n Having a good day!!\n");}
print(" This is $array[7] day of the year\n");

[此贴子已经被作者于2007-9-14 10:21:36编辑过]


----------------解决方案--------------------------------------------------------
回复:(hhts1987)会perl语言吗 我这里有个源码很简单...
谢谢你
不过我不会
----------------解决方案--------------------------------------------------------

不过这个最简单,用的是二维数组.我从一个视频上看到的.一起分亨:
include <stdio.h>
void main()
{
int day,month,year,k,leap;
int a[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31}
{0,31,29,31,30,31,30,31,31,30,31,30,31}};
printf("\nplease input year,month,day\n");
scanf("%d%d%d",&year,&month,&day);
leap=(year%4==0&&year%100!=0)||year%400==0;
for(k=1;k<=month;k++)
day=day+a[leap][k];
printf("It is the %dth day.\n",day);
}



----------------解决方案--------------------------------------------------------
  相关解决方案