c语言简单日历,万年历;-创新互联
emmm,主要是通过1计算总天数,2判断润年,3每月一号前的空格,4还有一星期换行这4个函数来写。
成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站建设、成都做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的富蕴网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!代码在下面,
#define _CRT_SECURE_NO_WARNINGS//Vs特性防止scanf报错
#includeint main() {
int sbsrn(int year);//判断是不是闰年的函数
int sc(int n, int d1,int i1);//输出每个月的日历的函数
int yfts(int n, int year);//判断月份天数的函数
int gyts(int year);//计算公元一年一月一号到输入年份的总天数的函数
int year=1;
for (; year != 0;) {//输入0退出循环
printf("请输入年份(输入0退出)");
scanf_s("%d", &year);
system("cls");//清屏
printf("%d年的日历\n", year);
gyts(year);
}
return 0;
}
int sbsrn(int year) {//判断是不是闰年的函数
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
return 1;
}
else return 0;
}
int sc(int n,int d1,int i1) {//输出每个月的日历的函数
int t,i;
printf("\t\t\t%d月份\n\n", i1);
printf("一\t二\t三\t四\t五\t六\t日\n\n");
t = n % 7;
for (i = 0; i< t; i++) {//输出每月一号前的空格
printf("\t");
}
for (i = 1; i<= d1; i++) {
printf("%d\t", i);
if ((i + n) % 7 == 0) {
printf("\n\n");
}
}
printf("\n____________________________________________________\n");
return 0;
}
int yfts(int n,int year) {//判断月份天数的函数
int i;
int d1;
for (i = 1; i< 13; i++) {
switch (i) {
case 1:case 3:case 5:case 7:case 8:case 10:case 12:
d1 = 31;
sc(n, d1,i);
break;
case 2://二月的通过判断闰年函数来判断天数
if (sbsrn(year) == 1) {
d1 = 29;
}
else { d1 = 28; }
sc(n,d1,i);
break;
default:
d1 = 30;
sc(n, d1,i);
break;
}
n += d1;//每输出一个月的日历,总天数加上输出的那个月的天数
}
}
int gyts(int year) {//计算公元一年一月一号到输入年份的总天数的函数
int i;
int n=0;
for (i = 0; i< year; i++) {
if (sbsrn(year) == 0) {
n += 365;
}
else { n += 366; }
}
n = n - 1;//公元一年一月一号是星期日,所以我减一了
yfts(n, year);
}
效果如下
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
分享名称:c语言简单日历,万年历;-创新互联
转载源于:http://ybzwz.com/article/csgpec.html