读书人

帮帮小弟我看看哪里出有关问题了小女

发布时间: 2012-02-19 19:43:38 作者: rapoo

帮帮我看看哪里出问题了,小女不胜感激!!!!!!!!急~~~~~~~~~在线等~~~~~~~~~~~
输入年月日,判断这一天是这一年的第几天。可是程序是对了,算出的结果不对啊
麻烦帮我看一下哪里出错了.....
#include <stdio.h>
void main()
{
int n,y,r,z,day;
char a;
printf( "请输入年月日: ");
scanf( "%d%d%d ",&n,&y,&r);
printf( "这一年是否是闰年:(y/n) ");
fflush(stdin);
scanf( "%c ",&a);
if(a== 'y '||a== 'Y ')
z=29;
if(a== 'y '||a== 'Y ')
z=28;
if(y==1)
day=r;
if(y==2)
day=r+z;
if(y==3)
day=r+z+31;
if(y==4)
day=r+z+31+30;
if(y==5)
day=r+z+31*2+30;
if(y==6)
day=r+z+31*2+30*2;
if(y==7)
day=r+z+31*3+30*2;
if(y==8)
day=r+z+31*4+30*2;
if(y==9)
day=r+z+31*4+30*3;
if(y==10)
day=r+z+31*5+30*3;
if(y==11)
day=r+z+31*5+30*4;
if(y==12)
day=r+z+31*6+30*4;
printf( "这一天是这一年中的第%d天\n ",r);
}

[解决办法]
楼主的可读性,比smile6h的高哦
[解决办法]
if-else结构阿
[解决办法]
这。。刚开始学c的吧。。。分挺多的呀。。。那么多if可以改成else if。。
[解决办法]
不知道现在还接不接得到分。......
看着这么多if就头晕...
[解决办法]
#include "stdio.h "
main()
{
int day,month,year,sum,leap;
printf( "please input your year,month,day\n ");
scanf( "%d,%d,%d ",&year,&month,&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;
default:printf( "data error ");break;
}
sum=sum+day;
if(year%4==0)
{if(year%100==0)
{if(year%400==0)
leap=1;
else leap=0;}
else leap=1;}
else leap=0;
if(leap)
printf( "this year is run nian \n ",year);
else
printf( "this year is not run nian \n ",year);
if(leap==1&&month> 2)
sum++;
printf( "It is the %dth day. ",sum);
}
我刚做完这个题,应该是对的。


[解决办法]
还不揭贴

读书人网 >C语言

热点推荐