首页 > 软件 > 输入某月的天数和该月的第一天是星期几,要求输入天数和星期几后,显示该月的日历

输入某月的天数和该月的第一天是星期几,要求输入天数和星期几后,显示该月的日历

软件 2023-11-06

输入某月的第一天是星期几及该月的天数,打印该月月历!谢谢

#include main() {int i,j,n,m; scanf("%d %d",&n,&m);//n是星期几,m是有几天 printf("7 1 2 3 4 5 6\n");//第一行像日历那样输出标注星期 for (i=1;i<=(n%7);i++) //给第一行数据前面填充空格 printf(" "); for (i=1;i<=m;i++) {//该循环用来输出日历的每一项 printf("%2d ",i); if((i+n)%7==0)//判断是否换行 printf("\n"); } }

编程 输入某月第一天是星期几和该月的天数,打印本月日历。

你说的那个不太准确,某月第一天是相同星期几多的很,很多重复了,我下面写了一段代码,输入年和月显示本月日历

#include

intjudgeYear(inty){/*判断是否是闰年*/

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

return1;

}else{

return0;

}

}

intgetMonthDays(intyear,intm){/*返回某个月有多少天*/

if(m==2){

if(judgeYear(year)==1)return29;

elsereturn28;

}elseif(m==4||m==6||m==9||m==11){

return30;

}else{

return31;

}

}

longgetTotalDays(inty,intm){/*从1900年1月1日到现在一共多少天*/

inti;

longsum=0;

for(i=1900;i

if(judgeYear(i)==1){

sum+=366;

}

else{

sum+=365;

}

}

for(i=1;i<=m;i++){/*计算Y年里,1月到m月的天数*/

sum+=getMonthDays(y,i);

}

returnsum;

}

displayMonth(intyear,intmonth){/*显示某年某月*/

inti;

longsum=getTotalDays(year,month-1);/*计算m个月的前m-1个月的天数*/

intmonthDay=getMonthDays(year,month);

printf("SunMonTueWedThuFriSat\n");

for(i=1;i<=sum%7+1;i++){

if(sum%7+1==7){

break;

}

printf("");/*8个空格*/

}

for(i=1;i<=monthDay;i++){

if((i+sum%7)%7==0){

printf("\n");

}

if(i<=9){

printf("%d",i);/*7个空格*/

}else{

printf("%d",i);/*6个空格*/

}

}

}

main(){

intyear,month;

printf("-------------------------------------------------\n");

printf("--------pleaseinputyearandmonth--------------\n");

printf("-------------------------------------------------\n");

printf("Year:");

scanf("%d",&year);

printf("Month:");

scanf("%d",&month);

displayMonth(year,month);

printf("\n\n..Pressanykeyexit........");

getch();

}

C语言编程题,编写显示单月的日历,用户指定这个月的天数和该月起始日是星期几:

#include int main() { int day=0;//天数 int count=0;//起始日是星期几 int printdays=0;//打印天数 int i; printf("请输入天数和起始日是星期几:\n"); scanf("%d%d",&day,&count); printdays=day+count-1; //printf("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六\n"); for(i=1;i<=printdays;i++) { if(im为该月天数,n为该月第一天是星期几(1对应星期一),用c语言输出该月的日历

#include

#include

int main()

{

int m,n,i,j;

scanf("%d%d",&m,&n);

printf(" 一 二 三 四 五 六 日\n\n");

for(i=1;i

printf(" ");

for(i=1;i

printf(" ");

for (i=1;i<=m;i++)

{

j=i+n-1;

printf("%5d",i);

if(j%7==0)

printf("\n");

}

return(0);

}

编写显示单月的日历,用户指定这个月的天数和该月起始日是星期几

不是程序没错误, else{ if((n-1) % 7 == 0) printf("\n"); } printf("%d\t", n-y); 这句是错的,即便你的n等于1,但是因为你的printf("%d\t", n-y);放在了条件控制语句的外面,所以他还是执行,也就是打印出(1-2)的值,自然就打出了-1,把这句话放在else语句的那个括号里面就行了

标签:天数 星期几 日历 编程 编程语言

大明白知识网 Copyright © 2020-2022 www.wangpan131.com. Some Rights Reserved. 京ICP备11019930号-18