A. 用c語言製作萬年歷,怎樣獲取當前時間,並顯示出當前月份的日歷啊。。

這效果?

要的話給你代碼

B. C語言 年歷


#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#defineNULL0

intbegin()
{
intn;
printf("Inputcardsyouwant(num>0):");
scanf("%d",&n);
returnn;
}
voidExit(void)
{
charch;
printf("Press<Q>toend...");
scanf("%c",&ch);
if(ch=='Q'||ch=='q')
exit(0);
}
intdeal(void)
{
intcard;
card=rand()%54;
returncard;
}

voidplay()
{
intn=begin();
inta[54],i;
srand(time(NULL));
a[0]=deal();
intj;
for(i=1;i<n;i++)
for(;;)
{
intnum=deal();
intflag=1;
for(j=0;j<i;j++)
if(a[j]==num)
{
flag=0;
break;
}
if(flag)
{
a[i]=num;
break;
}
}
for(i=0;i<n;i++)
printf("%d ",a[i]);
printf(" ");
scanf("%*c");
}

voidwelcome()
{
printf("+-----------------------------+ ");
printf("WelcometoPlayCard_Game. ");
printf("+-----------------------------+ ");
}

intmain()
{
while(1)
{
welcome();
play();
Exit();
}
return0;
}

C. c語言課程設計,關於年歷顯示。下面是要求: (1) 輸入一個年份,輸出是在屏幕上顯示該年的日歷。假定輸

#include<stdio.h>
int monthCode[12]={1,4,4,7,2,5,7,3,6,1,4,6};
int monthday[12]={31,28,31,30,31,30,31,31,30,31,30,31};
char monthname[12][20]={"Januray 1","February 2","March 3"," April 4","May 5","June 6","July 7","August 8",
"September 9","October 10","November 11","December 12"};
char weekname[7][10]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};
int isLeapYear(int year); //是返回1,否則返回0;
int calcYear(int year);
int calcMonth(int month);
int calcDay(int day);
int calcweek(int year,int month,int day);
int main()
{
int i;
int j;
int k;
int inputyear;
int firstweek; //每個月份第一天,星期幾。
int line =0;
scanf("%d",&inputyear);
if(isLeapYear(inputyear))
{
monthday[1]++;
}
printf("************** %d **************\n",inputyear);
for(i = 0;i<12;i++) //先一個月份一個月份的輸出。
{
printf("\n===================================\n");
printf("%s\n",monthname[i]);
for(j = 0;j<7;j++)
{
printf("%5s",weekname[j]);
}
for(j =0;j<monthday[i];j++)
{
if(j == 0) //每個月份的第一天,第一行最難。
{
firstweek = calcweek(inputyear,i+1,j+1);
printf("\n");
for(k=0;k<firstweek;k++)
printf(" ");
printf("%5d",j+1);
line = firstweek+1;
}
else
{
if(line%7 == 0)
{
printf("\n");
}
printf("%5d",j+1);
line++;
}
}
}
return 0;
}
int isLeapYear(int year)
{
if((year%4 == 0 && year%100 !=0) || year%400 ==0)
{
return 1;
}
else
{
return 0;
}
}
int calcYear(int year)
{
int yushu;
int shangshu;
if(year == 2000)
{
return 4;
}
else if(year > 2000)
{
shangshu = (year - 2000)/4;
yushu = (year - 2000)%4;
return 4-2*shangshu+yushu+1;
}
else
{
shangshu = (2000 - year)/4;
yushu = (2000 - year)%4;
return 4+2*shangshu-yushu;
}
}
int calcMonth(int month)
{
return monthCode[month-1];
}
int calcDay(int day)
{
return day;
}
int calcweek(int year,int month,int day)
{
return (calcYear(year)+calcMonth(month)+calcDay(day))%7;
}

D. C語言年歷顯示程序設計

#include
<stdio.h>
int
monthdays[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int
leapyearmonthdays[12]={31,29,31,30,31,30,31,31,30,31,30,31};
int
year=2011;
int
month=4;
int
day=22;int
isweekday(int
y,int
m,int
d)
{
int
weekday;
if(m<3)

{
m+=12;

y--;

}
return
weekday=(2+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7;
}bool
isleapyear(int
y)
{
return
(y%400==0
||
y%100!=0
&&
y%4==0);
}void
print_month(int
y,int
m)
{
int
i=0;
int
startday=isweekday(y,m,1);
printf("\n%4d/%02d\n",y,m);
printf("*****************************\n");
for(i=0;i<startday;i++)
{
printf("
");
}
if(isleapyear(y))
{
for(i=1;i<=leapyearmonthdays[m-1];i++)
{
printf("%3d
",i);
if((startday+i)%7==0)
printf("\n");
} }
else
{
for(i=1;i<=monthdays[m-1];i++)
{
printf("%3d
",i);
if((startday+i)%7==0)
printf("\n");
}
}
printf("\n*****************************\n");
}void
print_year(int
y)
{
int
i;
for(i=1;i<=12;i++)
{
print_month(y,i);
}
}int
counterdays(int
y,int
m,int
d)
{
int
temp=0;
int
days=0;
int
i;
for(i=year+1;i<y;i++)
{
if(isleapyear(i))
temp++;
}

if(y-year>=1)
{
if(isleapyear(year)
&&
month<=2)
temp++;

if(isleapyear(y)
&&
m>2
||(m==2
&&
d==29))
temp++; for(i=month+1;i<=12;i++)
{
days+=monthdays[i-1];
}

for(i=1;i<m;i++)
{
days+=monthdays[i-1];
}
days+=(y-year-1)*365;
}
if(!(year==y
&&
month==m))
{
days+=monthdays[month-1]-day+d;
}
else
{
days+=d-day;
}
days+=temp; printf("\n今天距%d/%d/%d還有%d天\n",y,m,d,days);

return
days;
}
void
setday(int
y,int
m,int
d)
{
year=y;
month=m;
day=d;
}void
main()
{
int
temp;
int
y,m,d;
char
ch;
do{
printf("請輸入要查詢的方式(1.查詢年歷2.查詢月歷3.計算日期4.設置當前日期(%d/%d/%d)):",year,month,day);
scanf("%d",&temp);
switch(temp)
{
case
1:
printf("請輸入年份(ep:2011):");
scanf("%d",&y);
print_year(y);
break;
case
2:
printf("請輸入年月(ep:2011/4):");
scanf("%d/%d",&y,&m);
print_month(y,m);
break;
case
3:
printf("請輸入日期(ep:2011/4/22):");
scanf("%d/%d/%d",&y,&m,&d);
counterdays(y,m,d);
break;
case
4:
printf("請輸入當天日期(ep:2011/4/22):");
scanf("%d/%d/%d",&y,&m,&d);
setday(y,m,d);
break;
default:
break;
}
printf("\n\n是否繼續?(Y鍵繼續,任意鍵退出)");
getchar();
scanf("%c",&ch);
}while(ch=='y'
||
ch=='Y');
}

E. C語言編寫 年歷顯示程序

此題不是很難,我會前三個
關鍵是算那一年的第一天是周幾
給你個基本演算法,一年是365天,閏年366天
364是7的倍數,這樣一年多出一天,中間多少個閏年,在加上相應的天數即可
400年多出來的天數是400+97=497也是7的倍數,那麼400年一輪回,這樣就算400年以內的即可
一個子函數,返回這一年的第一天是周幾,很好做
int ye(int year)
{
int y=year%400;
int day=y;
int i;
for(i=0;i<y;i++)
if(閏年判斷)
day++;
return day%7;

}
做一個月份天數的全局數組
int mo[12]={31,28,31,30,31,30,31,31,30,31,30,31};
需要時用一個if判斷閏年改變m0[1]的值是28還是29

列印子函數,有一個小技巧,就是每個月前面的空缺部分,這個1月份是ye子函數的返回值,後面的你看和前面月份是不是重合啊,吧這個記錄下來在下一月份用即可
1 2
3 4
這樣月份排列更好列印一些,你的那個截圖有點麻煩

int pr(int year)
{
int k=ye(year);
int i,j,;
if(閏年判斷)
mo[1]=29;
else
mo[1]=28;
for(i=0;i<12;i++)
{
printf("周幾英文的列印");
for(j=0;j<k;j++)
printf("一般是四個空格,就是月份前面空缺的列印");
for(j=1;j<=mo[i];j++)
{
printf("%4d",j);
k++;
if((k+j)%7==0)
printf("\n");

}
k%=7;
if(k!=0)
printf("\n");

}

}
如果像你那樣,感覺需要賦值一個大一點的數組,在吧數組列印出來更好,呵呵

F. 用c語言編寫萬年歷,要求輸出任意一年的某月,能顯示出這個月的日歷

1、首來先要判斷一個年份是閏年還源是平年,用一個子程序來做。

G. 用c語言編寫萬年歷怎麼顯示當前日期

#include
<stdio.h>
void
main()
{
int
i,j,temp,temp_i,day,year;
long
int
yeardays;
long
int
sumday(int
year);
/*所有天數求和
,不包括今天的
*/
int
leapyear(int
year);
/*閏年的定義*/
int
month[]={0,31,28,31,30,31,30,31,31,30,31,30,31,29};/*每月天數的判斷*/
int
everyday[6][14];
printf
("please
enter
a
year:\n");
scanf("%d",&year);
yeardays=sumday(year);
for(temp=1;temp<=6;temp++)
{
getchar();
for(i=0;i<6;i++)
for(j=0;j<14;j++)
everyday[i][j]=0;
/*天數初始化*/
switch(temp)
{
case
1:printf("\t
一月
%d\t\t
二月
%d\n",year,year);break;
case
2:printf("\t
三月
%d\t\t
四月
%d\n",year,year);break;
case
3:printf("\t
五月
%d\t\t
六月
%d\n",year,year);break;
case
4:printf("\t
七月
%d\t\t
八月
%d\n",year,year);break;
case
5:printf("\t
九月
%d\t\t
十月
%d\n",year,year);break;
case
6:printf("\t
十一月
%d\t\t
十二月
%d\n",year,year);break;
}
/*控制兩欄輸出*/
printf("日













\n");
i=0;j=0;
for(temp_i=0;temp_i<(yeardays%7);temp_i++)
{
everyday[0][j++]=0;
}
day=1;
while(day<=month[2*temp-1])
/*奇數輸出*/
{
if(j%7==0)
{
j=0;i++;
}
everyday[i][j++]=day;
day++;
yeardays++;
}
i=0;j=7;
for(temp_i=0;temp_i<(yeardays%7);temp_i++)
{
everyday[0][j++]=0;
}
day=1;
if(leapyear(year)&&temp==1)
while(day<=month[13])
{
if(j%14==0)
{
j=7;i++;
}
everyday[i][j++]=day;
day++;
yeardays++;
}
else
while(day<=month[2*temp])
/*偶數輸出*/
{
if
(j%14==0)
{
j=7;i++;
}
everyday[i][j++]=day;
day++;
yeardays++;
}
for
(i=0;i<6;i++)
{
for(j=0;j<14;j++)
{
if(everyday[i][j]!=0)
printf("%-4d",everyday[i][j]);
else
printf("
");
if(j==6)
printf("
");
}
printf("\n");
}
}
}
int
leapyear(int
year)
/*閏年的判斷*/
{
if((year%4==0&&year%100!=0)||year%400==0)
return(1);
else
return
(0);
}
long
int
sumday(int
year)
/*每年天數的判斷*/
{
int
yearstart=1,leapsum=0;
while(yearstart<year)
{
if(leapyear(yearstart)!=0)
leapsum++;
yearstart++;
}
return
366*leapsum+365*(year-leapsum);
/*不包括今天的*/
}

H. 一個c語言的日歷顯示程序

#include <stdio.h>
#include <windows.h>
main()
{
//定義一個時間結構存儲時間數據;
SYSTEMTIME *stm;
//定義了十二個月份的數組,用的時候直接調用
char month[12][10] = {"January","February","March",
"April","May","June","July","August",
"September","October","November","December"};
//為時間結構體申請空間(c語言中必須)
stm = (SYSTEMTIME*)malloc(sizeof(SYSTEMTIME));
//獲取系統時間
GetSystemTime(stm);
//顯示時間
printf("%d\st %s %d",stm->wDay,month[stm->wMonth-1],stm->wYear);
}

I. C語言編程日歷顯示

#include <stdio.h>
#include <stdlib.h>
int leap(int); //判斷是否為閏年
int md(int m,int y); //返回本月的天數
void prtweek(void); //輸出表頭
int fw(int m,int y); //返回本月一號是星期幾
void prtmonth(int m); //輸出月份表頭
int main(int argc, char* argv[])
{
int y,m,i,test,week;
printf("Year:");
scanf("%d",&y);
for (m=1; m<=12; m++) {
test=1;
prtmonth(m);
prtweek();
week=fw(m,y);
if (week!=6)
for (i=0; i<=week; i++) {
putchar('\t');
test++;
}
for (i=1; i<=md(m,y); i++,test++) {
printf("%d\t",i);
if (test%7==0) {
putchar('\n');
}
}
putchar('\n');

system("pause");//暫停,以便觀察輸出
}
return 0;
}
int leap(int y)
{
return (y%4==0&&y%100||y%400==0)?1:0;
}
int md(int m,int y)
{
int d;
switch (m) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:d=31;break;
case 4:
case 6:
case 9:
case 11:d=30;break;
case 2:d=leap(y)?29:28;break;

}
return d;
}
void prtweek(void)
{
printf("%s\t%s\t%s\t%s\t%s\t%s\t%s\t\n","Sun","Mon","Tue","Wed","Thur","Fri","Sat");
}
int fw(int m,int y)
{
int f;
if (m<3) {
m+=12;
y--;
}
f=(1+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7;
return f;
}
void prtmonth(int m)
{
switch (m) {

default:
case 1:puts("===January===");break;
case 2:puts("===February===");break;
case 3:puts("===March===");break;
case 4:puts("===April===");break;
case 5:puts("===May===");break;
case 6:puts("===June===");break;
case 7:puts("===July===");break;
case 8:puts("===August===");break;
case 9:puts("===September===");break;
case 10:puts("===October===");break;
case 11:puts("===November===");break;
case 12:puts("===December===");break;
}
}

J. 怎樣用c語言編寫一個能顯示系統當前日期的萬年歷

#include <stdio.h>
void main()
{
int i,j,temp,temp_i,day,year;
long int yeardays;
long int sumday(int year); /*所有天數求和 ,不包括今天的 */
int leapyear(int year); /*閏年的定義*/
int month[]={0,31,28,31,30,31,30,31,31,30,31,30,31,29};/*每月天數的判斷*/
int everyday[6][14];
printf ("please enter a year:\n");
scanf("%d",&year);
yeardays=sumday(year);
for(temp=1;temp<=6;temp++)
{ getchar();
for(i=0;i<6;i++)
for(j=0;j<14;j++)
everyday[i][j]=0; /*天數初始化*/
switch(temp)
{
case 1:printf("\t 一月 %d\t\t 二月 %d\n",year,year);break;
case 2:printf("\t 三月 %d\t\t 四月 %d\n",year,year);break;
case 3:printf("\t 五月 %d\t\t 六月 %d\n",year,year);break;
case 4:printf("\t 七月 %d\t\t 八月 %d\n",year,year);break;
case 5:printf("\t 九月 %d\t\t 十月 %d\n",year,year);break;
case 6:printf("\t 十一月 %d\t\t 十二月 %d\n",year,year);break;
} /*控制兩欄輸出*/
printf("日 一 二 三 四 五 六 日 一 二 三 四 五 六 \n");
i=0;j=0;
for(temp_i=0;temp_i<(yeardays%7);temp_i++)
{
everyday[0][j++]=0;
}
day=1;
while(day<=month[2*temp-1]) /*奇數輸出*/
{
if(j%7==0)
{
j=0;i++;
}
everyday[i][j++]=day;

day++;
yeardays++;
}
i=0;j=7;
for(temp_i=0;temp_i<(yeardays%7);temp_i++)
{
everyday[0][j++]=0;
}
day=1;
if(leapyear(year)&&temp==1)
while(day<=month[13])
{
if(j%14==0)
{
j=7;i++;
}
everyday[i][j++]=day;
day++;
yeardays++;
}
else
while(day<=month[2*temp]) /*偶數輸出*/
{
if (j%14==0)
{
j=7;i++;
}
everyday[i][j++]=day;
day++;
yeardays++;
}
for (i=0;i<6;i++)
{
for(j=0;j<14;j++)
{
if(everyday[i][j]!=0)
printf("%-4d",everyday[i][j]);
else
printf(" ");
if(j==6)
printf(" ");
}
printf("\n");
}

}
}
int leapyear(int year) /*閏年的判斷*/
{
if((year%4==0&&year%100!=0)||year%400==0)
return(1);
else
return (0);
}

long int sumday(int year) /*每年天數的判斷*/
{
int yearstart=1,leapsum=0;
while(yearstart<year)
{
if(leapyear(yearstart)!=0)
leapsum++;
yearstart++;
}
return 366*leapsum+365*(year-leapsum); /*不包括今天的*/

}