//输入任意一年,输入该年份日历。
//你运行一下看一下结果 不是三个月一行 你自己改一下吧 加一下换行就好
#include
#include
#include
int runnian(int year);//判断是不是闰年
int longmonth (int year,int mouth);//判断每个月份的天数
int year_fristday (int year);//判断每年的元旦的第一天是星期几
//int month_fristday(int year,int month);//判断每月的第一天是周几
int main()
{
int year;
int j,month=1,i,c=0,day,weekday,d=0,a;
system("color 3E");
printf("please input year.\n");
Sleep(1000);
printf("例如,2015\n");
scanf("%d",&year);
printf(" \n\n\n %d年\n\n",year);
system("cls");
weekday=year_fristday(year);
d=weekday;
// printf("%d",weekday);(检测元函数是否正确)
for(i=1;i<13;i++)
{
printf(" %d月份\n",i);
printf(" ---------------------------------------------\n");
printf(" SUN MON TUE WED THU FRI SAT\n");
printf(" ---------------------------------------------\n");
// printf("%d",day);
if(month==1)
for(j=0;jprintf(" ");
else
{
d=(d+day)%7;
// d=d+weekday;
if(d<7)
for(j=0;jprintf(" ");
else
{
d=d-7;
for(j=0;jprintf(" ");
}
}
a=d+1;
day=longmonth(year,month);
for(c=1;c<(day+1);c++,a++)
{
printf(" %2d",c);
if(a%7==0)
printf("\n");
}
printf("\n\n");
month++;
// Sleep(1000);
}
getchar();
getchar();
return 0;
}
int longmonth (int year,int month)
{
int month_day,a;
a=runnian(year);
if(a==1)
{
if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
month_day=31;
if(month==2||month==4||month==6||month==9||month==11)
month_day=30;
if(month==2)
month_day=29;
}
else
{
if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
month_day=31;
if(month==2||month==4||month==6||month==9||month==11)
month_day=30;
if(month==2)
month_day=28;
}
return month_day;
}
int year_fristday (int year)
{
int n,b;
n=year-1900;
n=n/4+n+1;
b=n%7;
return b;
}
int runnian(int year)
{
int n;
if(year%100==0)
{
if(year%400==0)
n=1;
else
n=0;
}
else
{
if(year%4==0)
n=1;
else
n=0;
}
return n;
}
//@author zjb
转换说明符
%a(%A) 浮点数、十六进制数字和p-(P-)记数法(C99)
%c 字符
%d 有符号十进制整数
%f 浮点数(包括float和doulbe)
%e(%E) 浮点数指数输出[e-(E-)记数法]
%g(%G) 浮点数不显无意义的零"0"
%i 有符号十进制整数(与%d相同)
%u 无符号十进制整数
%o 八进制整数 e.g. 0123
%x(%X) 十六进制整数0f(0F) e.g. 0x1234
%p 指针
%s 字符串
%% "%"
2.标志
左对齐:"-" e.g. "%-20s"
右对齐:"+" e.g. "%+20s"
空格:若符号为正,则显示空格,负则显示"-" e.g. "% 6.2f"
#:对c,s,d,u类无影响;对o类,在输出时加前缀o;对x类,在输出时加前缀0x;
对e,g,f 类当结果有小数时才给出小数点。
3.格式字符串(格式)
[标志][输出最少宽度][.精度][长度]类型
"%-md" :左对齐,若m比实际少时,按实际输出。
"%m.ns":输出m位,取字符串(左起)n位,左补空格,当n>m or m省略时m=n
e.g. "%7.2s" 输入CHINA
输出" CH"
"%m.nf":输出浮点数,m为宽度,n为小数点右边数位
e.g. "%3.1f" 输入3852.99
输出3853.0
长度:为h短整形量,l为长整形量
根据闰年定义,能被400整除的年,或者能被4整除且不是100的倍数的,是闰年。于是C中判断year是否为闰年的方法可以写作
if(year % 400 ==0 || year %4 ==0 && year %100 != 0)
算法设计如下:
1 遍历1990到2000;
2 对每个年份,进行判断,如果是闰年,按照要求输出。
代码:
int main(){ int n,c; for(n = 1990; n <= 2000; n ++) { if((n % 400 ==0 || n %4 ==0 && n %100 != 0)) { printf(&qu乏龚催夹诎蝗挫伟旦连ot;%d,",n); c ++; if(c%3==2)printf("\n"); } }}
2016-07-08 00:12c语言中没有退行的操作,你自己设计好了在输出才行
2016-07-08 00:15%-4d是用于C语言输出的格式字符串,可以用于printf类函数,包括printf, sprintf, fprintf,vfprintf,vprintf,vsprintf,snprintf,vsnprintf,vasprintf等等。
各种函数中的含义是相同的,都是按照10进制形式输出整数值,输出值范围如果不足4列宽度,那么按4列宽度输出,否则按实际宽度输出。 输出结果数值在左侧,右侧用空格补足。
%-4d的四个字符每个都有各自的功能,具体如下:
1 %:格式字符串的引导标识,每个格式字符串必须以%开头。
2 -: 输出的内容左侧为有效数据,右侧为补足字符。
3 4:输出占4列宽度,不足用空格补齐,超出按实际长度输出。
4 d: 按照10进制整型输出。
下面这个例子输出两行数据,每行五个数值:
#include
1 12 123 1234121234523 123 23411 123456从中可以看到其作用及缺陷。
对于低于4位的整数,可以很好的实现输出及对齐效果,比如例子中的第一列和第二列。
如果输出位数为4位,那么输出值和下一个输出间不会有分隔符,比如第二行的3 4两列,本来是2341和1,但输出的效果是一个数23411。
当数值超过4位时对齐效果会被打乱,同时与下一个输出见没有间隔。
比如第一行的第四列,输出数值为123412,与下一个12345没有分隔,同时第五列的12345本应与第二行的123456左对齐,但由于123412侵占了该位置,导致二者无法达成对齐效果。
路由器之家今天精心准备的是《2015年日历》,下面是详解!
最好用什么软件制作2015年日历
你好,word里有日历的模板,你可以用它来做日历
方法:
1、打开【文件】|【新建】|【通用模板】
2、【其他文档】|【日历向导】
使用这个模板,可以很轻松地做出一份日历来。
全文结束,谢谢
日历表2015一共有多少天?
2015年是平年,平年有365天,闰年为366天。
如何判断平年和闰年:①、普通年能被4整除的为闰年.(如2004年就是闰年,1901年不是闰年)地球公转示意图
②、世纪年能被400整除的是闰年.(如2000年是闰年,1900年不是闰年)
闰年二月份29天
平年二月份28天。
该年年分是4的整数倍,则为闰年,如2008,但要注意逢百年要除以400,如2100就不是闰年。否则为平年。
2015年农历十一月十八日是日历上的几月几号
万年历
公历 2015年12月28日 星期一
农历 十一月十八 乙未年【羊年】戊子月 戊寅日
2015年农历11月18日是公历2015年12月28日 星期一
2015年的日历表
2015年的日历表是日历表...
2015年的日历表是日历表
直接下载个电子日历不就行了嘛,我现在用的人生日历不错,推荐给你。
c语言输出2015年日历,要求三个月在一行上(就是按...
//输入任意一年,输入该年份日历。
//你运行一下看一下结果 不是三个月一行 你自己改一下吧 加一下换行就好