c语言万年历横向输出两排,万年历输出日期怎么不对齐?

ca56232b3bbedf9a539d07f37fffb99a.gif

3144d8b7615c79d9f638db40d5689d26.gif

a218af6549b45ee526caf607ebff1358.gif

0f8df0e29816ae721419de940fb833d1.gif

万年历输出日期怎么不对齐?

#include /*文件包含预处理命令,printf( )函数在其中声明*/

#include /*文件包含预处理命令,scanf( )函数在其中声明*/

char* month_str[]={"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"};

char* week[]={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};

int IsLeapYear(int year) /*函数声明语句,查询某年是平年还是闰年*/

{

if((year%4==0&&year%100!=0)||(year%400==0))

return 1;

else

return 0; /*返回值0,返回操作系统*/

}

inline int month_day(int year,int month) /*函数声明语句*/

{

int mon_day[]={31,28,31,30,31,30,31,31,30,31,30,31};

if(IsLeapYear(year)&&month==2)

return 29;

else

return(mon_day[month-1]); /*函数返回语句,函数返回到主调函数并将mon_day[month-1]的值一并返回*/

}

int DaySearch(int year,int month,int day) /*函数声明语句,查询某年某月某日是星期几*/

{

int c=0; /*变量定义语句*/

float s; /*变量定义语句*/

int m; /*变量定义语句*/

for(m=1;m

c=c+month_day(year,m);

c=c+day;

s=year-1+(float)(year-1)/4+(float)(year-1)/100+(float)(year-1)/400-40+c;

return ((int)s%7);

}

int PrintAllYear(int year)/*函数声明语句,打印全年日历*/

{

int temp; /*变量定义语句*/

int i,j; /*变量定义语句*/

printf("\n\n%d Calander\n",year); /*调用在stdio.h中声明的库函数printf( )*/

for(i=1;i<=12;i++) /*当i值小于等于12时,每次循环i的值自加1*/

{

printf("\n\n%s(%d)\n",month_str[i-1],i); /*调用在stdio.h中声明的库函数printf( )*/

printf("日 一 二 三 四 五 六 \n\n"); /*调用在stdio.h中声明的库函数printf( )*/

temp=DaySearch(year,i,1);

for(j=1;j<=month_day(year,i)+temp;j++) /*当j值小于等于month值时,每次循环j的值自加1*/

{

if(j-temp<=0)

printf(" "); /*调用在stdio.h中声明的库函数printf( )*/

else if(j-temp<10)

printf("%d ",j-temp); /*调用在stdio.h中声明的库函数printf( )*/

else

printf("%d ",j-temp); /*调用在stdio.h中声明的库函数printf( )*/

if(j%7==0)

printf("\n"); /*调用在stdio.h中声明的库函数printf( )*/

}

}

return 0; /*返回值0,返回操作系统*/

}

int main(void) /*主函数main(void)*/

{

int option,da; /*变量定义语句*/

char ch; /*变量定义语句*/

int year,month,day; /*变量定义语句*/

printf("\n\n欢迎使用万年历查询系统!\n");/*调用在stdio.h中声明的库函数printf( )*/

while(1) /*无限循环,遇到break跳出循环*/

{

printf("\n请选择您所需要的服务:\n"); /*调用在stdio.h中声明的库函数printf( )*/

printf("\n1 查询某年某月某日是星期几"); /*调用在stdio.h中声明的库函数printf( )*/

printf("\n2 查询某年是平年或闰年"); /*调用在stdio.h中声明的库函数printf( )*/

printf("\n3 打印全年日历"); /*调用在stdio.h中声明的库函数printf( )*/

printf("\n4 退出\n"); /*调用在stdio.h中声明的库函数printf( )*/

scanf("%d",&option);

switch(option)

{

case 1:

while(1)

{

printf("\n请输入年月日(XXXX,XX,XX):"); /*调用在stdio.h中声明的库函数printf( )*/

scanf("%d,%d,%d,%c",&year,&month,&day);

da=DaySearch(year,month,day);

printf("\n%d-%d-%d 是 %s,您希望继续查询吗?(Y/N)",year,month,day,week[da]); /*调用在stdio.h中声明的库函数printf( )*/

fflush(stdin);

scanf("%c",&ch);

if(ch=='N'||ch=='n')

break;

}

break;

case 2:

while(1)

{

printf("\n请输入您希望查询的年份?(XXXX)"); /*调用在stdio.h中声明的库函数printf( )*/

scanf("%d",&year);

if(IsLeapYear(year))

printf("\n%d 是闰年,您希望继续查询吗?(Y/N)",year); /*调用在stdio.h中声明的库函数printf( )*/

else

printf("\n%d 是平年,您希望继续查询吗(Y/N)?",year); /*调用在stdio.h中声明的库函数printf( )*/

fflush(stdin);

scanf("%c",&ch);

if(ch=='N'||ch=='n')

break;

}

break;

case 3:

while(1)

{

printf("\n请输入您希望打印的年份(XXXX)"); /*调用在stdio.h中声明的库函数printf( )*/

scanf("%d",&year);

PrintAllYear(year);

printf("\n您希望继续打印吗Y/N)?"); /*调用在stdio.h中声明的库函数printf( )*/

fflush(stdin);

scanf("%c",&ch);

if(ch=='N'||ch=='n')

break;

}

break;

case 4:

fflush(stdin);

printf("您确认退出吗?(Y/N)"); /*调用在stdio.h中声明的库函数printf( )*/

scanf("%c",&ch);

if(ch=='Y'||ch=='y')

exit(0);

break;

default:

printf("\nError:对不起,现在没有这项查询功能!\n"); /*调用在stdio.h中声明的库函数printf( )*/

break;

}

}

return 0; /*返回值0,返回操作系统*/

}

搜索更多相关主题的帖子:

万年历 输出

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值