1.编程序实现:输入一个年份y,求出从公元1年1月1日到y年1月1日,总共有多少天,并求出y年的1月1日是星

c语言刚学 简单点

//可以直接运行了 闰年是每四年 且 到了100的倍数就不是闰年

#include <stdio.h>

#include <stdlib.h>

int main(int argc, char *argv[])

{

  int y;

  int i1,i2;  //i1表示每过四年就一次韵年,i2表示第100年不是韵年 

  int j;

  int x;

  printf("请输入今年是:"); 

  scanf("%d",&y);

  i1=y/4;

  i2=y/100; 

  j=(y-1)*366-i1+i2;

  printf("从第一年到%d年,共经历了%d天\n",y,j);

  x=j%7+1;

  printf("第%d年的1月1日是星期%d\n",y,x);

  system("PAUSE");

  return 0;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-09

这个题目第一问可以简化为,从公元元旦开始到y年一共有多少天。主要的难点是考虑闰年

闰年的判断方法是能整除4不能整除100但能整除400

代码如下:

int calc(int y) {
y--;
int days = y * 365; // 先都算非闰年
days += y / 4; // 先把能整除4的都算闰年,闰年+1天
days -= y / 100; // 能整除100的也在能整除4的里面,再刨掉这部分
days += y / 400; // 能整除400的刚才也刨掉了,再加回来
return days;
}

第2个回答  2013-04-09
不知道要不要算闰年什么的!!
相似回答