C语言,输入年月日,输出是这一年的第几天
1、首先打开vc6.0, 新建一个vc项目。
2、添加头文件和main函数。
3、定义day、month、year、sum、leap 五个变量。
4、使用 scanf给定义的变量赋值。
5、使用switch语句,先计算某月以前的月份的总天数。
6、使用sum, 加上某天的天数。
7、判断是不是闰年。
8、如果是闰年且月份大于2, 总天数应该加一天。
9、使用printf打印sum。
10、运行程序。
请教,C语言如何实现:从键盘输入某一天的年月日,计算该天是当年的第几天
#include <stdio.h>
int fun(int year,int month,int day)
{
int s=0,a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
if(year%4==0&&year%100||year%400==0)
a[2]=29;
if(month==1) s+=day;
else s+=a[month]+fun(year,month-1,day);
return s;
}
void main(){
int year,month,day;
scanf("%d-%d-%d",&year,&month,&day);
printf("%d年的第%d天",year,fun(year,month,day));
}
C语言程序设计:输入一个日期(含年、月、日),编程序输出该日期是该年度中的第
我大概给个思路,代码是现写的没调试
先定义每个月的天数,2月按28天算
输入年月日后,根据年判断是否闰年(闰年加1天),再从1月加到当月的前一月,再加上日期就可以了
#include<stdio.h>
intmonth[12]={31,28,31,30,31,30,31,31,30,31,30,31};
main()
{
intyy,mm,dd,days;
inti;
printf("inputyear:");scanf("%d",&yy);
printf("inputmonth:");scanf("%d",&mm);
printf("inputday:");scanf("%d",&dd);
/*如果大于2月,要做闰年的判断,忘了,不一定准*/
if(mm>2&&((year%4==0&&year%100!=0)||year%400==0))days=1;
elsedays=0;
/*加上前面各整月的天数*/
for(i=0;i<mm-1;i++)days+=month[i];
/*加上日数*/
days+=dd;
printf("Thisisthe%ddayofyear%d!!\n",days,yy);
}
比如输入199921
应该输出:Thisisthe32dayofyear1999!!
C语言程序设计:给出年、月、日,计算该日是该年的第几天
#include "stdio.h"
int main () {
int year;
int month;
int day;
scanf("%d %d %d", &year, &month, &day);
if(year < 1 || (month < 1 || month > 12) || (day < 1 || day > 31))return -1;
int daynum[12] = {
31, 28, 31,30 ,31, 30, 31, 31, 30, 31, 30, 31
};
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
daynum[1] = 29;
}
int dayth = 0;
for (int i = 0; i < month - 1; ++i) {
dayth += daynum[i];
}
dayth += day;
printf("the day is:%d\n", dayth);
return 0;
}

