c语言编程输入一年中的任意一天输出它是这一年的第几天

输入一年中的任意一天输出它是第几天... 输入一年中的任意一天输出它是第几天 展开
 我来答
智狐博文
2012-04-03 · 计算机专业知识科普及教育资讯
智狐博文
采纳数:92 获赞数:597

向TA提问 私信TA
展开全部
#include "stdio.h"
#include "stdlib.h"//使用清屏命令时用此头文件
void main()
{
int Day[14]={0,31,28,31,30,31,30,31,31,30,31,30,31};//此数组用于存放每个月的天数(下标为0时没有天数,其余为平年当中每月的天数)
int year,month,day;//定义三个变量分别用于存放用户输入的年月日
int sumday=0;//此变量用于存放用户输入日期是当年的第几天
int i;//循环变量
printf("plase input a year:");
scanf("%d",&year);
printf("Please input a month:");
scanf("%d",&month);
printf("Please input a day:");
scanf("%d",&day);
//以下用于判断用户输入数据是否正确的如果有误再一次输入数据
while(year<=0||month<1||month>12&&day<1||day>31)
{
//如果月份小于0或月份小于1或月份大于12或日小于1或日大于31时都属不正确数据
system("cls");//清屏
printf("Your input is error!Please input again!\n");
printf("plase input a year:");
scanf("%d",&year);
printf("Please input a month:");
scanf("%d",&month);
printf("Please input a day:");
scanf("%d",&day);
}
for(i=0;i<month;i++)
{
sumday+=Day[i];//累加本月之间的所有天数
}
sumday+=day;//加上本月的天数
if(year%4==0&&year%100!=0||year%400==0&&month>2)
{
sumday+=1;//闰年再加1天
}
printf("%d-%d-%d是当年中第%d天",year,month,day,sumday);//输出输入日期是当年的第几天
}
以上代码复制到环境中即可运行。如果还有什么疑问的可以继续问?希望能够帮到你。
Gifan
2012-04-02 · TA获得超过725个赞
知道小有建树答主
回答量:240
采纳率:0%
帮助的人:261万
展开全部
我写个大概吗,因为比较长,你可以自己填上去
#inlucde<stdio.h>
int main()
{
int yy,mm,dd,num; //看你输入什么格式咯,我就直接输入了
scanf("%d %d %d",&yy,&mm,&dd);
switch(mm) //看他是第几个月,然后按照月份加上天数就可以了,然后在判断一下是不是闰年,是的话,如果上了3月就+1天就可以了
{
case 1: num=dd;break;
case 2:num=31+dd;break;
case 3:num=31+28+dd;break;
case 4:
......
case 12: //上面的应该会写了把,
}
if((yy%4!=0||yy%100==0&&yy%400!=0)&&mm>2))//判断我上面所说的
num++;
printf("%d",num);
return 0;
}可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
L_o_o_n_i_e
推荐于2018-05-14 · TA获得超过4.2万个赞
知道大有可为答主
回答量:8507
采纳率:38%
帮助的人:5212万
展开全部
#include<stdio.h>

int YMD_2_JD(int Y, int M, int D){
const short MonthDay[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int JD,i;
JD=D;
for (i=0;i<M;i++) JD+=MonthDay[i];
if ( ((Y%4==0)&&(Y%100!=0) || (Y%400==0) ) && (M>2)) JD++;
return JD;
}

int main(void)
{
int Y,M,D,x;
printf("input y m d\n");
scanf("%d %d %d",&Y,&M,&D);
x=YMD_2_JD(Y,M, D);
printf("%d",x);
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式