_c++编写一个程序,用户任意输入一个日期,确定这天是一年中的第多少天(1~366),是星期几? 【样式输

 我来答
我爱二级C
2013-05-22 · 超过15用户采纳过TA的回答
知道答主
回答量:94
采纳率:0%
帮助的人:87.9万
展开全部
#include "iostream.h"
main()
{
int day,month,year,sum,leap;
cout<<"\n请输入年,月,日\n";
cin>>year>>month>>day;
switch(month) //先计算某月以前月份的总天数
{
case 1:sum=0;break; //比如输入1,则1月份以前的天数为0,程序后面再加上多少天
case 2:sum=31;break;
case 3:sum=59;break;//先不管那年是不是闰年,2月份按28天算
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:cout<<"输入错误";break;
}
sum=sum+day; //再加上某天的天数
if(year%400==0||(year%4==0&&year%100!=0)) //判断是不是闰年(闰年的定义:能被400整除,或者能被4整除,且不能被100整除)
leap=1;
else
leap=0;
if(leap==1&&month>2) //如果是闰年且月份大于2,总天数应该加一天
sum++;

cout<<"这天是这一年的第"<<sum<<"天"<<"\n";

}

望采纳,自己以前编的
汐_枫
2013-05-22 · TA获得超过329个赞
知道小有建树答主
回答量:342
采纳率:0%
帮助的人:267万
展开全部
#include<stdio.h>
void main()
{
int year,month,day,a,s;
while(printf("请输入年份:"),scanf("%4d%d%d",&year,&month,&day))
{
if(year%4==0)
{
if(year%400==0||year%100!=0)
a=1;//1代表闰年
else a=0;
}
else a=0;
int y=0;
switch(month)
{
case 12:y+=30;
case 11:y+=31;
case 10:y+=30;
case 9:y+=31;
case 8:y+=31;
case 7:y+=30;
case 6:y+=31;
case 5:y+=30;
case 4:y+=31;
case 3:y+=28;
case 2:y+=31;
case 1:y+=0;
}
if(month>2)//大于2月才加上多余的1天
s=a+y+day;
else s=y+day;
printf("%-4d-%-2d-%-2d是该年的第%d天\n",year,month,day,s);
}
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式