大概是我上一個(gè)簡(jiǎn)單日歷加了些東西;詳情如下;c語(yǔ)言簡(jiǎn)單日歷,萬(wàn)年歷;_flowkite_8097的博客-博客y
創(chuàng)新互聯(lián)是專(zhuān)業(yè)的茶陵網(wǎng)站建設(shè)公司,茶陵接單;提供成都網(wǎng)站建設(shè)、成都做網(wǎng)站,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專(zhuān)業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行茶陵網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專(zhuān)業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專(zhuān)業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!完整代碼如下:
#define _CRT_SECURE_NO_WARNINGS//Vs特性防止scanf報(bào)錯(cuò)
#includeint main() {
int sbsrn(int year);//判斷是不是閏年的函數(shù)
int sc(int n, int d1,int i1);//輸出每個(gè)月的日歷的函數(shù)
int yfts(int n, int year,int a[]);//判斷月份天數(shù)的函數(shù)
int gyts(int year,int a[]);//計(jì)算公元一年一月一號(hào)到輸入年份的總天數(shù)的函數(shù)
int year=1;
int b[12] = { 1,2,3,4,5,6,7,8,9,10,11,12 };
int a[12] = { 0 };
int n,i,v=-1;
for (; v!= 0;) {//輸入0退出循環(huán)
printf("|輸入1查全年日歷\n|輸入2精準(zhǔn)查找單個(gè)或幾個(gè)月份的日歷\n|輸入0退出\n");
scanf("%d",&v);
system("cls");
switch (v) {
case 1://輸入1查全年日歷
printf("請(qǐng)輸入年份\n");
scanf_s("%d", &year);
printf("%d年的日歷\n", year);
gyts(year, b);
break;
case 2://輸入2精準(zhǔn)查找單個(gè)或幾個(gè)月份的日歷
system("cls");
printf("請(qǐng)輸入年份\n");
scanf_s("%d", &year);
printf("%d年的日歷\n", year);
printf("輸入要查找的月份的個(gè)數(shù)\n");
scanf("%d", &n);
printf("輸入要查找的月份數(shù)\n");
for (i = 0; i< n; i++) {
scanf("%d",&a[i]);
}
gyts(year, a);
break;
case 0:break;
default:system("cls"); break;
}
}
return 0;
}
int sbsrn(int year) {//判斷是不是閏年的函數(shù)
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
return 1;
}
else return 0;
}
int sc(int n,int d1,int i1) {//輸出每個(gè)月的日歷的函數(shù)
int t,i;
printf("\t\t\t%d月份\n\n", i1);
printf("一\t二\t三\t四\t五\t六\t日\(chéng)n\n");
t = n % 7;
for (i = 0; i< t; i++) {//輸出每月一號(hào)前的空格
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 a[]) {//判斷月份天數(shù)的函數(shù)
int i,j;
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;
for (j = 1; j< 13; j++) {
if (i == a[j- 1]) {
sc(n, d1, i);
}
}
break;
case 2://二月的通過(guò)判斷閏年函數(shù)來(lái)判斷天數(shù)
if (sbsrn(year) == 1) {
d1 = 29;
}
else { d1 = 28; }
for (j = 1; j< 13; j++) {
if (i == a[j - 1]) {
sc(n, d1, i);
}
}
break;
default:
d1 = 30;
for (j = 1; j< 13; j++) {
if (i == a[j - 1]) {
sc(n, d1, i);
}
}
break;
}
n += d1;//每輸出一個(gè)月的日歷,總天數(shù)加上輸出的那個(gè)月的天數(shù)
}
}
int gyts(int year,int a[]) {//計(jì)算公元一年一月一號(hào)到輸入年份的總天數(shù)的函數(shù)
int i;
int n=0;
for (i = 0; i< year; i++) {
if (sbsrn(year) == 0) {
n += 365;
}
else { n += 366; }
}
n = n - 1;//公元一年一月一號(hào)是星期日,所以我減一了
yfts(n, year,a);
}
每個(gè)函數(shù)的代碼如下
主函數(shù):
#define _CRT_SECURE_NO_WARNINGS//Vs特性防止scanf報(bào)錯(cuò)
#includeint main() {
int sbsrn(int year);//判斷是不是閏年的函數(shù)
int sc(int n, int d1, int i1);//輸出每個(gè)月的日歷的函數(shù)
int yfts(int n, int year, int a[]);//判斷月份天數(shù)的函數(shù)
int gyts(int year, int a[]);//計(jì)算公元一年一月一號(hào)到輸入年份的總天數(shù)的函數(shù)
void memu();//是菜單呢
int all();//輸出一年全部月份的函數(shù)
int exact();//輸出精確月份的函數(shù)
memu();
return 0;
}
判斷是不是閏年的函數(shù):
int sbsrn(int year) {//判斷是不是閏年的函數(shù)
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
return 1;
}
else return 0;
}
/輸出每個(gè)月的日歷的函數(shù):
int sc(int n, int d1, int i1) {//輸出每個(gè)月的日歷的函數(shù)
int t, i;
printf("\t\t\t%d月份\n\n", i1);
printf("一\t二\t三\t四\t五\t六\t日\(chéng)n\n");
t = n % 7;
for (i = 0; i< t; i++) {//輸出每月一號(hào)前的空格
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;
}
判斷月份天數(shù)的函數(shù):
int yfts(int n, int year, int a[]) {//判斷月份天數(shù)的函數(shù)
int i, j;
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;
for (j = 1; j< 13; j++) {
if (i == a[j - 1]) {
sc(n, d1, i);
}
}
break;
case 2://二月的通過(guò)判斷閏年函數(shù)來(lái)判斷天數(shù)
if (sbsrn(year) == 1) {
d1 = 29;
}
else { d1 = 28; }
for (j = 1; j< 13; j++) {
if (i == a[j - 1]) {
sc(n, d1, i);
}
}
break;
default:
d1 = 30;
for (j = 1; j< 13; j++) {
if (i == a[j - 1]) {
sc(n, d1, i);
}
}
break;
}
n += d1;//每輸出一個(gè)月的日歷,總天數(shù)加上輸出的那個(gè)月的天數(shù)
}
}
計(jì)算公元一年一月一號(hào)到輸入年份的總天數(shù)的函數(shù):
int gyts(int year, int a[]) {//計(jì)算公元一年一月一號(hào)到輸入年份的總天數(shù)的函數(shù)
int i;
int n = 0;
for (i = 0; i< year; i++) {
if (sbsrn(year) == 0) {
n += 365;
}
else { n += 366; }
}
n = n - 1;//公元一年一月一號(hào)是星期日,所以我減一了
yfts(n, year, a);
}
菜單:
void memu() {//菜單
int v = -1;
for (; v != 0;) {//輸入0退出循環(huán)
printf("|輸入1查全年日歷\n|輸入2精準(zhǔn)查找單個(gè)或幾個(gè)月份的日歷\n|輸入0退出\n");
scanf("%d", &v);
system("cls");
switch (v) {
case 1://輸入1查全年日歷
all();
break;
case 2://輸入2精準(zhǔn)查找單個(gè)或幾個(gè)月份的日歷
exact();
break;
case 0:break;
default:system("cls"); break;
}
}
}
輸出一年全部月份的函數(shù):
int all() {//輸出一年全部月份的函數(shù)
int b[12] = { 1,2,3,4,5,6,7,8,9,10,11,12 };
int year = 1;
printf("請(qǐng)輸入年份\n");
scanf("%d", &year);
printf("%d年的日歷\n", year);
gyts(year, b);
}
輸出精確月份的函數(shù):
int exact() {//輸出精確月份的函數(shù)
int year = 1;
int a[12] = { 0 };
int n, i, v = -1;
system("cls");
printf("請(qǐng)輸入年份\n");
scanf("%d", &year);
printf("%d年的日歷\n", year);
printf("輸入要查找的月份的個(gè)數(shù)\n");
scanf("%d", &n);
printf("輸入要查找的月份數(shù)\n");
for (i = 0; i< n; i++) {
scanf("%d", &a[i]);
}
gyts(year, a);
}
最后還有完整的(拼函數(shù)版)
#define _CRT_SECURE_NO_WARNINGS//Vs特性防止scanf報(bào)錯(cuò)
#includeint main() {
int sbsrn(int year);//判斷是不是閏年的函數(shù)
int sc(int n, int d1, int i1);//輸出每個(gè)月的日歷的函數(shù)
int yfts(int n, int year, int a[]);//判斷月份天數(shù)的函數(shù)
int gyts(int year, int a[]);//計(jì)算公元一年一月一號(hào)到輸入年份的總天數(shù)的函數(shù)
void memu();//是菜單呢
int all();//輸出一年全部月份的函數(shù)
int exact();//輸出精確月份的函數(shù)
memu();
return 0;
}
int sbsrn(int year) {//判斷是不是閏年的函數(shù)
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
return 1;
}
else return 0;
}
int sc(int n, int d1, int i1) {//輸出每個(gè)月的日歷的函數(shù)
int t, i;
printf("\t\t\t%d月份\n\n", i1);
printf("一\t二\t三\t四\t五\t六\t日\(chéng)n\n");
t = n % 7;
for (i = 0; i< t; i++) {//輸出每月一號(hào)前的空格
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 a[]) {//判斷月份天數(shù)的函數(shù)
int i, j;
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;
for (j = 1; j< 13; j++) {
if (i == a[j - 1]) {
sc(n, d1, i);
}
}
break;
case 2://二月的通過(guò)判斷閏年函數(shù)來(lái)判斷天數(shù)
if (sbsrn(year) == 1) {
d1 = 29;
}
else { d1 = 28; }
for (j = 1; j< 13; j++) {
if (i == a[j - 1]) {
sc(n, d1, i);
}
}
break;
default:
d1 = 30;
for (j = 1; j< 13; j++) {
if (i == a[j - 1]) {
sc(n, d1, i);
}
}
break;
}
n += d1;//每輸出一個(gè)月的日歷,總天數(shù)加上輸出的那個(gè)月的天數(shù)
}
}
int gyts(int year, int a[]) {//計(jì)算公元一年一月一號(hào)到輸入年份的總天數(shù)的函數(shù)
int i;
int n = 0;
for (i = 0; i< year; i++) {
if (sbsrn(year) == 0) {
n += 365;
}
else { n += 366; }
}
n = n - 1;//公元一年一月一號(hào)是星期日,所以我減一了
yfts(n, year, a);
}
void memu() {//菜單
int v = -1;
for (; v != 0;) {//輸入0退出循環(huán)
printf("|輸入1查全年日歷\n|輸入2精準(zhǔn)查找單個(gè)或幾個(gè)月份的日歷\n|輸入0退出\n");
scanf("%d", &v);
system("cls");
switch (v) {
case 1://輸入1查全年日歷
all();
break;
case 2://輸入2精準(zhǔn)查找單個(gè)或幾個(gè)月份的日歷
exact();
break;
case 0:break;
default:system("cls"); break;
}
}
}
int all() {//輸出一年全部月份的函數(shù)
int b[12] = { 1,2,3,4,5,6,7,8,9,10,11,12 };
int year = 1;
printf("請(qǐng)輸入年份\n");
scanf("%d", &year);
printf("%d年的日歷\n", year);
gyts(year, b);
}
int exact() {//輸出精確月份的函數(shù)
int year = 1;
int a[12] = { 0 };
int n, i, v = -1;
system("cls");
printf("請(qǐng)輸入年份\n");
scanf("%d", &year);
printf("%d年的日歷\n", year);
printf("輸入要查找的月份的個(gè)數(shù)\n");
scanf("%d", &n);
printf("輸入要查找的月份數(shù)\n");
for (i = 0; i< n; i++) {
scanf("%d", &a[i]);
}
gyts(year, a);
}
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧