main(){int a[]={0,31,28,31,30,31,30,31,31,30,31,30,31};/*平年的

问题描述:

main()
{
int a[]={0,31,28,31,30,31,30,31,31,30,31,30,31};/*平年的每月最后一天*/
int b[]={0,31,29,31,30,31,30,31,31,30,31,30,31};/*闰年的每月最后一天*/
int year,month,date;
int year1,month1,date1;
int year2,month2,date2;
int d,m,day,i=1;
long count=0;
printf("按照年 月 日的格式输入起始日期");
scanf("%d %d %d",&year1,&month1,&date1);
if(0==(check(year1,month1,date1))) {printf("intput error\n");exit(0);}
printf("按照年 月 日的格式输入结束日期");
scanf("%d %d %d",&year2,&month2,&date2);
if(0==(check(year2,month2,date2))) {printf("intput error\n");exit(0);}
if(change(year1,month1,date1)>change(year2,month2,date2))
{year=year1;year1=year2;year2=year;
month=month1;month1=month2;month2=month;
date=date1;date1=date2;date2=date;}
printf("\n%d-%d-%d,%d-%d-%d之间的素日期是:\n",year1,month1,date1,year2,month2,date2);
for(year=year1;year
1个回答 分类:综合 2014-11-17

问题解答:

我来补答
#include
#include
int leap(int year)
{
int l;
if (((year%4==0)&&(year%100!=0))||(year%400==0))
l=1;
else
l=0;
return (l);
}
long change(int year,int month,int date)
{
long n;
n=10000*year+100*month+date;
return (n);
}
int prime(long x)
{
long i,k;
int j;
k=sqrt(x);
for(i=2;i=k+1) j=1;
else j=0;
return (j);
}
int check(int year,int month,int date)
{
int day,r;
int a[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int b[]={0,31,29,31,30,31,30,31,31,30,31,30,31};
if(leap(year)) day=b[month];
else day=a[month];
if((yearchange(year2,month2,date2))//使较小的年月日放在开头,较大的年月日放在结束
{year=year1;year1=year2;year2=year;
month=month1;month1=month2;month2=month;
date=date1;date1=date2;date2=date;}
printf("\n%d-%d-%d,%d-%d-%d之间的素日期是:\n",year1,month1,date1,year2,month2,date2);
for(year=year1;yea
 
 
展开全文阅读
剩余:2000
下一页:先解十一题