#include<stdio.h>
int allday(int year)
{
int day=365;
if(year%4==0&&year%100!=0||year%400==0)
day=366;
return day;
}
int a(int month)
{
if(month<=12&&month>=1);
switch(month)
{
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case 10:
case 11:
case 12:
return month;
}
}
main()
{
int year,month,day,sum;
printf("输入一个年份");
scanf("%d",&year);
printf("今年一共有%d天\n",allday(year));
printf("输入一个月份");
scanf("%d",&month);
printf("这是今年的第%d月\n",a(month));
printf("输入要查询的那天");
scanf("%d",&day);
// printf("这天是今年的%d天",h(day));
}
这是我没做完的,我不会怎么计算这一天是一年中的第几天呀!~
用C语言函数输入某年某月某日,判断这一天是这一年的第几天?
答案:5 悬赏:0
解决时间 2021-04-27 06:05
- 提问者网友:逐野
- 2021-04-27 00:18
最佳答案
- 二级知识专家网友:一只傻青衣
- 2021-04-27 01:08
你的函数h(day)只传入一个参数,怎么计算天数呢?改成3个参数就可以直接返回了int h(int year;int month,int day)
{
int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int s=0,i;
for(i=0;i<month;i++)
s=s+a[i];
if((year%4==0&&year%100!=0||year%400==0)&&month>2)
return s+day+1;
else
return s+day;
}
全部回答
- 1楼网友:陪伴是最长情的告白
- 2021-04-27 05:03
你的函数h(day)只传入一个参数,怎么计算天数呢?改成3个参数就可以直接返回了int
h(int
year;int
month,int
day)
{
int
a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int
s=0,i;
for(i=0;i<month;i++)
s=s+a[i];
if((year%4==0&&year%100!=0||year%400==0)&&month>2)
return
s+day+1;
else
return
s+day;
}
- 2楼网友:浪女动了心
- 2021-04-27 04:00
好深奥啊!
- 3楼网友:花一样艳美的陌生人
- 2021-04-27 02:36
short finddays(short year, short month, short day)
{
short toReturn = day;
switch (month)
{
case 12:toReturn += 30;
case 11:toReturn += 31;
case 10:toReturn += 30;
case 9:toReturn += 31;
case 8:toReturn += 31;
case 7:toReturn += 30;
case 6:toReturn += 31;
case 5:toReturn += 30;
case 4:toReturn += 31;
case 3:toReturn += (year % 4 ? 28 : 29);
case 2:toReturn += 31;break;
default:break;
}
return toReturn;
}
- 4楼网友:野性且迷人
- 2021-04-27 01:21
|#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()
{
int year,month,day;
int days;
printf("Enter the year month day (for example: 2008 3 1)\n");
scanf("%d %d %d",&year,&month,&day);
(void) get_day ( year, &days, month, day );
printf("the days=%d\n",days);
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯