C语言程序设计题目

输入某年某月某日,判断这一天是这一年的第几天?

第1个回答  2011-12-03
#include<studio.h>
void main()//某年1月1日是第一天
{
int year, mouth,day;
int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int days=0;
//对 i(月份)进行判断
for(i=1.i<=month,i++)
{
days+=a[i-1];

// 对year进行判断是否是闰年,是就加1,否则不加 如何判断闰年去C课本上找
if(year=闰年) days++;
else return ;
days=days+day;//加上某日
printf"%d\n,days";

思路就是这些,你把这伪代码补充了就完成了你的题了。
第2个回答  2011-12-01
#include<stdio.h>
  int main()
  {
  int year,month,date,leap,days=0;
  scanf("%4d%2d%2d",&year,&month,&date);
  leap=(year%4==0&&year%100!=0||year%400==0);
  switch(month)
  {
  case 12:days+=30;
  case 11:days+=31;
  case 10:days+=30;
  case 9:days+=31;
  case 8:days+=31;
  case 7:days+=30;
  case 6:days+=31;
  case 5:days+=30;
  case 4:days+=31;
  case 3:days+=28+leap;
  case 2:days+=31;
  case 1:days+=date;break;
  }
  printf("%4d年%2d月%2d日是这一年的第%d天。\n",year,month,date,days);
  }本回答被网友采纳
第3个回答  2011-12-02
#include "sthio.h"
#include "math.h"
void main()
{
int day,month,year,sum,leap;
printf("\nplease input 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%400==0||(year%4==0&&year%100!=0))/*判断是不是闰年*/
  leap=1;
 else
  leap=0;
if(leap==1&&month>2)/*如果是闰年且月份大于2,总天数应该加一天*/
sum++;
printf("It is the %dth day.",sum);}
相似回答