C语言编程,要求输入年月日,输出该天位于这天的第几天,请高手帮帮忙,我是初学者,请尽量些简单点!

无限感激!
打错了,是位于该年第几天!

代码如下。。。。因为你要简单一点。。就没有写成函数的形式。。。。

#include"stdio.h"
void main()
{
int year,month,day;
int dayOfYear = 0;/*保存最后的结果*/
int i; /*循环变量*/

printf("please input year : ");/*提示用户输入年*/
scanf("%d",&year);/*接收用户输入的年*/

printf("please input month : ");/*提示用户输入月*/
scanf("%d",&month);/*接收用户输入的月*/

printf("please input day: ");/*提示用户输入日*/
scanf("%d",&day);/*接收用户输入的日*/

/*开始计算位于该年的第几天*/
for(i=1;i<=month;i++){
if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)/*有31天的月份*/
dayOfYear = dayOfYear +31;
else if(i==4||i==6||i==9||i==11)/*有30天的月份*/
dayOfYear = dayOfYear +30;
else{ /*处理二月份,如果是闰年,有29天,否则是28天*/
if((year%4==0)||(year%4==0&&year%100!=0))/*闰年*/
dayOfYear = dayOfYear +29;
else dayOfYear = dayOfYear +28;
}
}
dayOfYear = dayOfYear + day;

printf("%d",dayOfYear);
getch();
}

运行结果示例:
please input year : 2010
please input month : 1
please input day : 3
34

希望能对你有帮助。。。。。仍有问题可以HI我。。。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-03-16
截取了一段 LZ参考下吧 格式不全。
-------------------------------------------------------
int month_day[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; //每个月的天数
int year,month,day,week,year_day=0; //变量声明
printf("===请输入第一个时间点 如2010 5 29===>:");
scanf("%d%d%d",&year,&month,&day);
if((year%4==0 && year%100!=0) || year%400==0) //判断平年闰年 二月天数变化
{ month_day[2]++;
printf("%d年为【闰年】\n",year);
}
else
printf("%d年为【平年】\n",year);
for(i=0;i<month;i++) //循环累加天数到当前月
year_day=year_day+month_day[i]; //当前月加当前日期 即为总天数
year_day=year_day+day; //第一时间点是当年第几天。
printf("%d月%d号为%d年的第【%d天】\n",month,day,year,year_day);
第2个回答  推荐于2016-03-16
#include<stdio.h>
int N;
void main()
{ int zong_tian_shu( int, int );
int y,r,d;
do
scanf("%d%d%d",&N,&y,&r);
while(r<1||r>31||y<1||y>12);
d=zong_tian_shu(y,r);
printf("%d年%d月%d日是%d的第%d天\n",N,y,r,N,d);
}
int zong_tian_shu( int y, int r )
{ int f( int);
int d=0,i,a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
if(y>2)
d=f(N);
for(i=0;i<y;i++)
d=d+a[i];
d=d+r;
return(d);
}
int f( int N)
{ int d;
if(N%400==0||N%4==0&&N%100!=0)
d=1;
else d=0;
return(d);
}本回答被提问者采纳

C语言编程,要求输入年月日,输出该天位于这天的第几天,请高手帮帮忙,我...
printf("please input day: ");\/*提示用户输入日*\/ scanf("%d",&day);\/*接收用户输入的日*\/ \/*开始计算位于该年的第几天*\/ for(i=1;i<=month;i++){ if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)\/*有31天的月份*\/ dayOfYear = dayOfYear +31;else if(i==...

c语言编程:输入年月日,求出该天是该年的第几天
if(leap==1&&month>2){\/\/*如果是闰年且月份大于2,总天数应该加一天 sum++;} printf("这是这一年的第%d天。",sum);printf("\\n");}

c语言编程:编写程序,输入某年某月某日,判断这一天是这一年的第几天...
int a1[]={31,29,31,30,31,30,31,31,30,31,30,31};int a2[]={31,28,31,30,31,30,31,31,30,31,30,31};printf("输入年月日(用逗号隔开):\\n");scanf("%d,%d,%d",&y,&m,&d);if (y%4==0&&y%100!=0||y%400==0) \/*闰年,2月29天*\/ { while (i<m-1){ s...

c语言 输入出生年月求到今天活了多少天,求大神帮忙
再相减求得差值,再除以 3600 * 24 得到天数(这里需要求余数,余数不为0要加1天)

用C语言编输入今天的日期输出明天的日期,谢谢帮忙
闰月 的情况都考虑了,程序有点复杂,是被我写复杂了的,毕竟是不是高手 include<stdio.h> void main(){ int a,b,c;printf("请输入今天的日期(例如2008-03-27):");scanf("%d-%d-%d",&a,&b,&c);if(b==02 && c==28 && a%4==0){a=a;b=03;c=01;} else if(a%4!=0 &&...

C语言,输入年月日,输出星期几
void inputCheck(int,int,int);int leaYear(int);main(){ int year,month,day,d1,result,sum=0;scanf("%d%d%d",&year,&month,&day);inputCheck(year,month,day);for(;year>1; year--){ if((year%4==0 && year%100!=0)||(year%400==0))sum+=366;else sum+=365;} d1=lea...

C语言输入年月日,判断第几天的问题最后计算是第几天出错了
main() { int year,moth,day;; int mo[12]={31,28,31,30,31,30,31,31,30,31,30,31}; int d,i; scnaf("%d %d %d",&year,&moth,&day); d=day; if(闰年判断) mo[1]=29; for(i=0;i<moth-1;i++) d+=mo[i]; printf("%d",d); } ...

C语言题目:设计一个程序输入年月日 输出下一天的年月日(改错)第一个月...
题目是不是有错,这哪里是输出下一天的年月日啊,明明是输出一个整型数据啊,是不是输出该天是这一年当中的第几天啊??而且程序有错啊 if(i=1) n=day; ---是想表达i是否等于1的意思吗?应该用==表示,这样是关系运算,一个等于号是赋值运算。if(i>1) {n=n+i;n=n+day;}}---这...

大佬,能帮忙用devc++编个c语言程序,输入年月日,天数n,输出n天后的年月...
\/**程序描述:输入年月日,天数n,输出n天后的年月日。*\/#include <stdio.h>typedef struct Date{int year;int month;int day;}Date;int days[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};int IsLeapYear(int year);void ListDate(Date now, int diff);void main(...

用C语言设计程序:输入年和月份值,输出对应月份的天数,谁能帮我看看对...
break;case 4:case 6:case 9:case 11:days=30; break;case 2: if((year%4==0)&&(year%100!=0)||(year%400==0))days=\/*28*\/29;\/*闰年才29天*\/ else days=\/*29*\/28;break;default:printf("month is error \\n");}printf("year=%d,month=%d,days=%d\\n"...

相似回答