帮下忙谢谢谢谢大家啦。。。。
更主要是那个输入。。。就是1998/1/1或者1998-1-1或者别的格式输入都可以
用C语言函数判断这一天是这一年的第几天?例如输入1998,1,1或者1998/1/1或者1998-1-1都可以
答案:4 悬赏:80
解决时间 2021-03-05 14:29
- 提问者网友:王者刀枪不入
- 2021-03-05 05:47
最佳答案
- 二级知识专家网友:深街酒徒
- 2021-03-05 07:27
#include <stdio.h>
#include <stdlib.h>
static int daytable[2][13] = {
{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
{0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
};
void get_day ( int year, int *dayofyear, int month, int day )
{
int i, leap;
leap = (( year % 4 == 0 ) && ( year % 100 != 0 ) || ( year % 400 == 0 ));
*dayofyear = 0;
for (i=1;i< month;i++) {
*dayofyear = *dayofyear + daytable[leap][i];
}
*dayofyear = *dayofyear + day;
}
void main()
{
char s[12];
int y,m,d;
int jd;
int i,L;
printf("input 1998-1-1 year-month-day\n");
fscanf(stdin,"%s",s);
L = strlen(s);
for (i=0;i<L;i++) if (s[i] < '0' || s[i] > '9') s[i]=' ';
sscanf(s,"%d %d %d",&y,&m,&d);
printf("%d %d %d\n",y,m,d);
(void) get_day ( y, &jd, m, d );
printf("the J day=%d\n",jd);
}
-----------
1998/1/1 1998-1-1 1998,2,2 年符号月符号日符号都可以
#include <stdlib.h>
static int daytable[2][13] = {
{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
{0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
};
void get_day ( int year, int *dayofyear, int month, int day )
{
int i, leap;
leap = (( year % 4 == 0 ) && ( year % 100 != 0 ) || ( year % 400 == 0 ));
*dayofyear = 0;
for (i=1;i< month;i++) {
*dayofyear = *dayofyear + daytable[leap][i];
}
*dayofyear = *dayofyear + day;
}
void main()
{
char s[12];
int y,m,d;
int jd;
int i,L;
printf("input 1998-1-1 year-month-day\n");
fscanf(stdin,"%s",s);
L = strlen(s);
for (i=0;i<L;i++) if (s[i] < '0' || s[i] > '9') s[i]=' ';
sscanf(s,"%d %d %d",&y,&m,&d);
printf("%d %d %d\n",y,m,d);
(void) get_day ( y, &jd, m, d );
printf("the J day=%d\n",jd);
}
-----------
1998/1/1 1998-1-1 1998,2,2 年符号月符号日符号都可以
全部回答
- 1楼网友:两不相欠
- 2021-03-05 09:34
#include<stdio.h>
main()
{int Y,M,D,a[13]={366,31,29,31,30,31,30,31,31,30,31,30,31},
b[13]={365,31,28,31,30,31,30,31,31,30,31,30,31},E,i;
K:scanf("%d %d %d",&Y,&M,&D);
if((Y%4==0&&Y%100!=0)||(Y%4==0&&Y%400==0))
{E=0;
for(i=1;i<M;i++)
E=E+a[i];
printf("It is the year's first %d day.\n",E+D);}
else
{E=0;
for(i=1;i<M;i++)
E=E+b[i];
printf("It is the year's first %d day.\n",E+D);}
goto K;
getch();}
- 2楼网友:气场征服一切
- 2021-03-05 08:51
可以输入1998/1/1或者1998-1-1 1998.1.1
#include
#include
void main()
{
int month1[11]={31,28,31,30,31,30,31,31,30,31,30};//每月天数
int month2[11]={31,29,31,30,31,30,31,31,30,31,30};//闰年每月天数
int i,year,month,day,count=0;
printf("年,月,日:");
scanf("%d%*c%d%*c%d",&year,&month,&day);
if( (year%4==0&&year%100
- 3楼网友:飘零作归宿
- 2021-03-05 07:49
可以输入1998/1/1或者1998-1-1 1998.1.1
#include<stdio.h>
#include<windows.h>
void main()
{
int month1[11]={31,28,31,30,31,30,31,31,30,31,30};//每月天数
int month2[11]={31,29,31,30,31,30,31,31,30,31,30};//闰年每月天数
int i,year,month,day,count=0;
printf("年,月,日:");
scanf("%d%*c%d%*c%d",&year,&month,&day);
if( (year%4==0&&year%100!=0)||(year%400==0) )//判断是否为闰年
for(i=0;i<month-1;i++)
count+=month2[i];
else
for(i=0;i<month-1;i++)
count+=month1[i];
count+=day;
printf("%d.%d.%d是这%d年第%d天\n",year,month,day,year,count);
system("pause");
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯