69,382
社区成员
发帖
与我相关
我的任务
分享
#include<stdio.h>
int days(int,int,int);
main()
{
int year=0 ,month,day;
int d;
printf("输入年月日并用空格隔开:");
scanf("%d%d%d" ,&year ,&month, &day);
printf("此日期是当年的第%d天\n" , days(year,month,day));
return 0;
}
int days(int y,int m,int d)
{
//printf("%d%d%d", y,m,d);
int month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int i;
int day_num=0,day_m = 0;/*记住一定要给累加的变量初始化,否则出现很大的数*/
/*按平年计算天数*/
for(i=0;i < m; i++)
day_m += month[i];
day_num = day_m + d;
/*判断是否是闰年*/
if((y%4==0 && y%100 !=0) || y%400==0)
day_num += 1;
return day_num;
}
#include <stdio.h>
struct student{int year,month,day;}judge;
/*计算日期位于该年的第几天*/
void days(int year,int month,int day)
{
int i,num=0;
int monthday[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
if(year % 400 == 0 || (year % 4 == 0 && year % 100 != 0))
{
for(i=1;i<month;i++)
{
if(i == 2)
{
num++;
}
num+=monthday[i];
}
num+=day;
}
else
{
for(i=1;i<month;i++)
num+=monthday[i];
num+=day;
}
printf("NO:%d\n",num);
}
int main()
{
printf("请输入日期:");
scanf("%d %d %d",&judge.year,&judge.month,&judge.day);
days(judge.year,judge.month,judge.day);
return 0;
}
void days(int judge.year,int judge.month,int judge.day)
//首先不说别的,你这参数不是已经在结构体中定义了类型么,你这样做是啥子意思,你干嘛舍不得利用其它的变量,再将变量的值赋值给结构体的参数,这样做多好。
有时候一种方法行不通,你可以换个思维,这样解决问题就很快!