网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
01月09日漏签0天
c语言吧 关注:801,765贴子:4,374,821
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 首页 上一页 1 2 3 4 5 6 7 下一页 尾页
  • 96回复贴,共7页
  • ,跳到 页  
<<返回c语言吧
>0< 加载中...

回复:计算任何一天是星期几的C语言源代码.

  • 只看楼主
  • 收藏

  • 回复
快试试吧,
可以对自己使用挽尊卡咯~
◆
◆
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include<stdio.h>

main()
{
int i,w,year,month,day,days=0;
int Y=1900;
int mon[13]={0,31,29,31,30,31,30,31,31,30,31,30,31}; 

printf("input year:");
scanf("%d",&year);

printf("input month:");
scanf("%d",&month);

printf("input day:");
scanf("%d",&day);

if(Y>=1900)
{
for(Y=1900;Y<=year;Y++)
{
if((Y%4==0)&&(Y%100!=0)||(Y%400==0))
days+=366;
else
days+=365;
}
if((Y%4==0)&&(Y%100!=0)||(Y%400==0))
mon[2]=29; 
else
mon[2]=28; 
for(i=0;i<month;i++) 
days=days+mon[i];
days=days+day;
}
if(Y<1900)
{
for(Y=1900;Y>year;Y--)
{
if((Y%4==0)&&(Y%100!=0)||(Y%400==0))
days+=366;
else
days+=365;
}
if((Y%4==0)&&(Y%100!=0)||(Y%400==0))
mon[2]=29; 
else
mon[2]=28; 
for(i=0;i<month;i++) 
days=days-mon[i];
days=days-day;
}
w=days%7;

switch(w)
{
case 1: printf("Monday."); break;
case 2: printf("Tuesday."); break;
case 3: printf("Wednesday."); break;
case 4: printf("Thursday."); break;
case 5: printf("Friday."); break;
case 6: printf("Saturday."); break;
case 0: printf("Sunday."); break;
}
printf("\n");
}


快试试吧,
可以对自己使用挽尊卡咯~
◆
◆
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
小弟也来发一个任意日期对应星期几的程序.

#include<stdio.h>

main()
{
int i,w,year,month,day,days=0;
int Y=1900;
int mon[13]={0,31,29,31,30,31,30,31,31,30,31,30,31}; 

printf("input year:");
scanf("%d",&year);

printf("input month:");
scanf("%d",&month);

printf("input day:");
scanf("%d",&day);

if(Y>=1900)
{
for(Y=1900;Y<=year;Y++)
{
if((Y%4==0)&&(Y%100!=0)||(Y%400==0))
days+=366;
else
days+=365;
}
if((Y%4==0)&&(Y%100!=0)||(Y%400==0))
mon[2]=29; 
else
mon[2]=28; 
for(i=0;i<month;i++) 
days=days+mon[i];
days=days+day;
}
if(Y<1900)
{
for(Y=1900;Y>year;Y--)
{
if((Y%4==0)&&(Y%100!=0)||(Y%400==0))
days+=366;
else
days+=365;
}
if((Y%4==0)&&(Y%100!=0)||(Y%400==0))
mon[2]=29; 
else
mon[2]=28; 
for(i=0;i<month;i++) 
days=days-mon[i];
days=days-day;
}
w=days%7;

switch(w)
{
case 1: printf("Monday."); break;
case 2: printf("Tuesday."); break;
case 3: printf("Wednesday."); break;
case 4: printf("Thursday."); break;
case 5: printf("Friday."); break;
case 6: printf("Saturday."); break;
case 0: printf("Sunday."); break;
}
printf("\n");
}


2026-01-09 14:16:17
广告
不感兴趣
开通SVIP免广告
  • fangang89
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
蒙了!
都是高手啊!


  • CIW_BLUE
  • 强能力者
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include <windows.h>
#include <iostream>
using namespace std;

int main() 
{ 
SYSTEMTIME stSysTime[3];
memset( &stSysTime[0], 0, sizeof( SYSTEMTIME ) * 3 );
GetSystemTime( &stSysTime[0] );

cout<< "年:" <<endl;
cin>> stSysTime[1].wYear;
cout<< "月:" <<endl;
cin>> stSysTime[1].wMonth;
cout<< "日:" <<endl;
cin>> stSysTime[1].wDay;

SetSystemTime( &stSysTime[1] );
GetLocalTime( &stSysTime[2] );
cout<< "星期:"<< stSysTime[2].wDayOfWeek <<endl;

SetSystemTime( &stSysTime[0] );
return 0; 
}


  • 风雨破老鼠
  • 强能力者
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
char wek[][9]={ {'S','u','n','d','a','y'}, 
{'M','o','n','d','a','y'}, 
{'T','u','e','s','d','a','y'}, 
{'W','e','d','n','s','d','a','y'}, 
{'T','h','u','r','s','d','a','y'}, 
{'F','r','i','d','a','y'}, 
{'S','a','t','u','r','d','a','y'} 

..一二三四五六七,我们等的好着急..


  • 125.85.129.*
快试试吧,
可以对自己使用挽尊卡咯~
◆
◆
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我也编写了一个计算任意天是星期几的C程序,
网址:http://zhyong319.blog.163.com/blog/static/685720520080241015640

多多指教哈.


  • 125.85.129.*
快试试吧,
可以对自己使用挽尊卡咯~
◆
◆
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
也把我自己写的原代码公布出来

#include "stdio.h"
main ()
{
 int choose,year,leap,month,day,week,i; 
 int temp=0,a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
 printf ("\n1.判断是否是闰年\n\n2.查询任意天是星期几\n\n3.退出\n\n"); 
 printf ("请输入数字1-3:");
 scanf ("%d",&choose);
 switch (choose)
 {
 case 1:{printf ("\n\n");
 printf ("输入年:");
 scanf ("%d",&year);
 printf ("\n");
 if ((year%4==0)||(year%400==0)&&(year%100!=0)) leap=1;
 else leap=0;
 if (leap) printf ("对,是闰年.");
 else printf ("不是闰年!");
 break;
 }

case 2:{printf ("\n\n");
 printf ("输入年,月,日 并按回车键,中间请用空格隔开.\n\n");
 scanf ("%d%d%d",&year,&month,&day);
 if ((year%4==0)||(year%400==0)&&(year%100!=0)) a[2]=29;
 for (i=1;i<month;i++)
 temp=a[i]+temp;
 temp=temp+day;
 printf ("\n");
 printf ("%d-%d-%d 是%d年的第%d天.",year,month,day,year,temp);
 week=((year-1)+(year-1)/4-(year-1)/100+(year-1)/400+temp)%7;
 printf ("\n");
 printf ("%d-%d-%d是 ",year,month,day);
 switch (week)
 {
 case 0:{printf ("星期天");break;}
 case 1:{printf ("星期一");break;}
 case 2:{printf ("星期二");break;}
 case 3:{printf ("星期三");break;}
 case 4:{printf ("星期四");break;}
 case 5:{printf ("星期五");break;}
 case 6:{printf ("星期六");break;}
 }

 printf ("\n");
 break;
 }

case 3:{printf ("按任意键退出");break;}

 }

printf ("\n\n\n");
getch();
}


  • 竹影逸尘心
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
hao


2026-01-09 14:10:17
广告
不感兴趣
开通SVIP免广告
  • 竹影逸尘心
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
for (i=0;i<mn;i++) 
days+=mont[i]; 
days+=day; 
s=yr-1+(int)((yr-1)/4)-(int)((yr-1)/100)+(int)((yr-1)/400)+days; 
k=s%7; 
LZ能解释下这段代码的含义?尤其是s=yr-1+(int)((yr-1)/4)-(int)((yr-1)/100)+(int)((yr-1)/400)+days; 

见笑了 才学


  • 竹影逸尘心
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
判断闰年不是这样判断吗?if (yr%4==0 &&yr%100!=0) || (yr%400==0)

mont[2]=29; 
else 
mont[2]=28; 
for (i=0;i<mn;i++) 
days+=mont[i]; 
days+=day; 
s=yr-1+(int)((yr-1)/4)-(int)((yr-1)/100)+(int)((yr-1)/400)+days; 
k=s%7
为什么运行就出错


  • 竹影逸尘心
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
if (yr%4==0&&yr%100!=0||yr%400==0)
mont[2]=29; 
else 
mont[2]=28; 
for (i=0;i<mn;i++) 
days+=mont[i]; 
days+=day; 
s=yr-1+(int)((yr-1)/4)-(int)((yr-1)/100)+(int)((yr-1)/400)+days; 
k=s%7;
运行后正确了


  • 61.187.179.*
快试试吧,
可以对自己使用挽尊卡咯~
◆
◆
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
你们太厉害了.看贴回贴是一种美德.


  • 125.220.200.*
快试试吧,
可以对自己使用挽尊卡咯~
◆
◆
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
算法不错 顶一


  • 125.67.135.*
快试试吧,
可以对自己使用挽尊卡咯~
◆
◆
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
不是啊,int main ()是有返回值得函数而已,二者皆可


2026-01-09 14:04:17
广告
不感兴趣
开通SVIP免广告
  • KarniMata
  • 超能力者
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
好久没见 好学者小晖 来了,不知学业完成的怎样了?


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 首页 上一页 2 3 4 5 6 7 下一页 尾页
  • 96回复贴,共7页
  • ,跳到 页  
<<返回c语言吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示