声明描述日期(年、月、日)的结构体类型。编函数,以参数方式带入某日期,计算相应日起在相应年是第几天,并以函数值形式带回。说明所变函数的调用方式和使用方法。下面是我编的程序,运行起来存在点问题,请帮忙看下下吧,万分感谢呐~#include<stdio.h>struct dat { int year,month,da... 展开
声明描述日期(年、月、日)的结构体类型。编函数,以参数方式带入某日期,计算相应日起在相应年是第几天,并以函数值形式带回。说明所变函数的调用方式和使用方法。下面是我编的程序,运行起来存在点问题,请帮忙看下下吧,万分感谢呐~#include<stdio.h>struct dat { int year,month,day;};void calculate(struct dat*);void main (){ int n;struct dat date;printf("please input year:");scanf("%d",date.year);printf("please input year:");scanf("%d",date.month);printf("please input year:");scanf("%d",date.day);calculate(&date);}void calculate(struct dat*date){ int a,b,c,i;int sum=0;a=date->year;b=date->month;c=date->day;if((a%4==0)&&(a%100!=0)||(a%400==0)){ for(i=0;i<b;i++){ if(i==1&&i==3&&i==5&&i==7&&i==8&&i==10) sum+=31;else{ if(i==2) sum+=29;else sum+=30;} sum+=c;} if((a%4!=0)||(a%100==0)&&(a%400!=0)){ for(i=0;i<b;i++){ if(i==1&&i==3&&i==5&&i==7&&i==8&&i==10) sum+=31;else{ if(i==2) sum+=28;else sum+=30;} sum=sum+c;}} printf("%d\n",sum);}} 收起