#includestdio.h

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都做網(wǎng)站、成都網(wǎng)站制作、格爾木網(wǎng)絡(luò)推廣、成都微信小程序、格爾木網(wǎng)絡(luò)營銷、格爾木企業(yè)策劃、格爾木品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供格爾木建站搭建服務(wù),24小時服務(wù)熱線:18980820575,官方網(wǎng)址:chinadenli.net
#define SIZE 31
void inputCheck(int,int,int);
int leaYear(int);
main()
{
int year,month,day,d1,result,sum=0;
scanf("%d%d%d",year,month,day);
inputCheck(year,month,day);
for(;year1; year--)
{
if((year%4==0 year%100!=0)||(year%400==0))
sum+=366;
else
sum+=365;
}
d1=leaYear(month);
if((year%4==0 year%100!=0) || (year%400==0))
{
result=(sum+d1+day)%7;}
else
{ if(month2)
result=(sum+d1+day-1)%7;
else result=(sum+d1+day)%7;
}
switch(result)
{
case 1:printf("Monday\n");break;
case 2:printf("Tuesday\n");break;
case 3:printf("Wedensday\n");break;
case 4:printf("Thurfay\n");break;
case 5:printf("Friday\n");break;
case 6:printf("Saturday\n");break;
case 7:printf("Sunday\n");break;
}
return 0;
}
int leaYear(int m)
{
int t=0;
for(; m1;m--)
{
switch(m)
{
case 2:
t+=29;
break;
case 4:
case 6:
case 9:
case 11:
t+=30;
break;
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
t+=31;break;
}
}
return t;
}
void inputCheck(int year,int month,int day)
{
if(year0)
printf("input is wrong!\n");
else
{
switch(month)
{
case 2:
if(day28 (!((year%4==0 year%100!=0) || (year%400==0))))
printf("input is wrong!\n");
if(day29 ((year%4==0 year%100!=0) || (year%400==0)))
printf("input is wrong!\n");break;
case 4:
case 6:
case 9:
case 11:
if(day30)
printf("input is wrong!\n");break;
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
if(day31)
printf("input is wrong!\n");
}
}
}
感覺應(yīng)該加上判斷輸入數(shù)據(jù)是否合格的函數(shù),即便沒這個要求,我用測試數(shù)據(jù)1900 1 1試了試,我的結(jié)果是星期一,你的錯誤你來找吧
#includestdio.h
int main()
{
int a,b,c;
scanf("%d,%d",a,b);
c=(a+b)%7;//求模,這個比較方便
switch(c)
{
case 1:
printf("星期一\n");
break;
case 2:
printf("星期二\n");
break;
case 3:
printf("星期三\n");
break;
case 4:
printf("星期四\n");
break;
case 5:
printf("星期五\n");
break;
case 6:
printf("星期六\n");
break;
case 0:
printf("星期天\n");
break;
}
return 0;
}
這個是1984年1月1日是星期日的,你先看看,我再幫你改,最好自己能看懂
#include stdio.h
void main()
{
int year,month,day;
int tempmonth,yearday;
int week,weekday;
unsigned int sum=0;
int tag=0;
printf("輸入年、月、日:\n");
scanf("%d %d %d",year,month,day);
tag =( year - 1980 )/4;
sum=(year-1984)*365 + tag;
tempmonth = month - 1;
yearday = 0;
switch(tempmonth)
{
case 12:yearday+=31;
case 11:yearday+=30;
case 10:yearday+=31;
case 9:yearday+=30;
case 8:yearday+=31;
case 7:yearday+=31;
case 6:yearday+=30;
case 5:yearday+=31;
case 4:yearday+=30;
case 3:yearday+=31;
case 2:yearday+=28;
case 1:yearday+=31;
}
yearday = yearday+day;
if ((year-1984)%4==0 month 2)
{
yearday+=1;
}
sum=sum+yearday;
if (year==1984)
{
sum-=1;
}
printf("距1984年1月1日一共有%d天\n",sum);
/*上面是計算輸入的日期距1984年1月1日一共經(jīng)歷了多少天*/
weekday = (sum-1) % 7;
week = yearday / 7;
printf("今天是第%d個星期,星期%d",week,weekday);
return ;
}
下面是修改好的,能多給些分嘛?寫程序不容易,還有,好好學(xué)習(xí),這些不難,就是多花點時間而已
#include stdio.h
void main()
{
int year,month,day;
int tempmonth,yearday;
int week,weekday;
int sum=0;
int tag=0;
printf("輸入年、月、日:\n");
scanf("%d %d %d",year,month,day);
tag =( year - 1988 )/4;
printf("tag=%d\n",tag);
sum=(year-1990)*365 + tag;
tempmonth = month - 1;
yearday = 0;
switch(tempmonth)
{
case 12:yearday+=31;
case 11:yearday+=30;
case 10:yearday+=31;
case 9:yearday+=30;
case 8:yearday+=31;
case 7:yearday+=31;
case 6:yearday+=30;
case 5:yearday+=31;
case 4:yearday+=30;
case 3:yearday+=31;
case 2:yearday+=28;
case 1:yearday+=31;
}
yearday = yearday+day;
if ((year-1988)%4==0 month 2)
{
yearday+=1;
}
sum=sum+yearday;
printf("sum=%d\n",sum);
printf("距1990年1月1日一共有%d天\n",sum);
/*上面是計算輸入的日期距1990年1月1日一共經(jīng)歷了多少天*/
weekday = (sum-1) % 7+1;
week = yearday / 7;
printf("今天是第%d個星期,星期%d",week,weekday);
return ;
}
y年m月d日,是第幾天days啊?計算方法:days=mon[1]+mon[2]+.+mon[m-1]+d;mon[i]是第i個月的天數(shù);同時要注意,mon[2]閏年29,否則28;給出代碼吧,雖然這樣對你其實么有什么好處、#includeintmain(){intmon[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};inty,m,d,days;intleap,i;scanf("%d%d%d",y,m,d);for(i=1,days=0;i2)days++;printf("days=%d\n",days);}自己讀,自己寫,經(jīng)常百度,不好~~~剛才有個單詞打錯了,sorry、、~~
#includestdio.h
void main()
{
int a;
printf("input a num\n");
scanf("%d",a);
switch(a){
case 0:
printf("星期日\n");
break;
case 1:
printf("星期一\n");
break;
case 2:
printf("星期二\n");
break;
case 3:
printf("星期三\n");
break;
case 4:
printf("星期四\n");
break;
case 5:
printf("星期五\n");
break;
case 6:
printf("星期六\n");
break;
default:
printf("input fail\n");
break;
}
}
標(biāo)題名稱:c語言星期函數(shù)編程,c語言根據(jù)日期算星期幾
本文地址:http://chinadenli.net/article21/dsigjcd.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、網(wǎng)站設(shè)計公司、外貿(mào)建站、搜索引擎優(yōu)化、微信公眾號、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)