C语言程序,输入年月日算出当天星期几

作者&投稿:翟虹 (若有异议请与网页底部的电邮联系)
C语言编程序实现如下功能:输入任意一个日期的年、月、日的值,求出是星期几并输出。~

用蔡勒公式即可:
#include
int main ()
{
int y, m, d, c, w;
printf ("输入年 月 日(空格间隔):");
scanf ("%d %d %d", &y, &m, &d);
if (m ==1 || m == 2)
{ //判断月份是否为1或2y--;m += 12;}
c = y / 100;
y = y - c * 100;
w = (c / 4) - 2 * c + (y + y / 4) + (13 * (m + 1) / 5) + d - 1;
while (w < 0) w += 7;
w %= 7;
if (w == 0) printf ("星期日");
else printf ("星期%d", w);
return 0;
}
方法二:
#include
void main ()
{
int y,m,d,c,s,w;
printf("请输入8位年月日,以空格隔开:");
scanf("%d%d%d",&y,&m,&d);
if (m==1) c=d;
else if (m==2) c=31 d;
else if (m==3) c=31 28 d;
else if (m==4) c=31 28 31 d;
else if (m==5) c=31 28 31 30 d;
else if (m==6) c=31 28 31 30 31 d;
else if (m==7) c=31 28 31 30 31 30 d;
else if (m==8) c=31 28 31 30 31 30 31 d;
else if (m==9) c=31 28 31 30 31 30 31 31 d;
else if (m==10) c=31 28 31 30 31 30 31 31 30 d;
else if (m==11) c=31 28 31 30 31 30 31 31 30 31 d;
else if (m==12) c=31 28 31 30 31 30 31 31 30 31 30 d;
if (m>2)
{if (y0==0) {if (y@0==0) c=c 1;}
else if (y%4==0) c=c 1;}
s=(y-1)*365 (y-1)/4-(y-1)/100 (y-1)/400 c;
w=s%7;
switch (w)
{
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("");
}
}

扩展资料:
C语言日期函数,日期处理函数:
定义一个表示日期的结构体类型,再分别定义函数完成下列功能:计算某一天是对应年的第几天,这一年一共多少天;计算两个日期之间相隔的天数。两个日期由键盘输入。
算法思想:
设定结构体类型表示日期类型名为 Date,利用 typedef 将其定义为日期型类型名,有三个整型类型的成员分别表示年、月、日。
设定函数计算输入的日期是这一年的第几天。函数的形参为日期型变量,函数体中设定整型数组存放每个月的天数,二月份的天数为 28 天。
设定函数判断年份是否为闰年以决定二月份的天数。根据输入的日期月份,在数组中将相应的月份天数求和,假日曰期即为天数。
设定函数完成两个日期的比较,比较形参 d 和 s 两个日期的大小。首先比较年,同年的比较月,同月的比较日。变量 start 保存输入的小的日期年份,end 保存输入日期大的年份,然后计算两个日期之间的天数。
程序由 6 个函数构成,yearday() 函数计算某年的天数,monthday() 函数计算某年二月份的天数,dayofyeaK() 函数计算某日期是某年的第几天。
cmpdate() 函数比较两个日期的大小,interday() 函数计算两个日期之间的天数。
dayofyear() 函数调用 monthday() 函数,interday() 函数调用 cmpdate() 函数。
yearday() 函数、dayofyear() 函数;主函数调用 yearday() 函数、dayofyear() 函数、interday() 函数。

cat ex1.c/* 程序分析:以3月5日为例,应该先把前两个月的加起来, 然后再加上5天即本年的第几天,特殊情况,闰年且输入 月份大于3时需考虑多加一天。*/#includeint main(){ int day, month, year, sum, leap; printf("
please input year,month,day
"); scanf("%d%d%d",&year,&month,&day); switch(month){ //先计算某月以前月份的总天数 case 1:sum = 0;break; case 2:sum = 31;break; case 3:sum = 59;break; case 4:sum = 90;break; case 5:sum = 120;break; case 6:sum = 151;break; case 7:sum = 181;break; case 8:sum = 212;break; case 9:sum = 243;break; case 10:sum = 273;break; case 11:sum = 304;break; case 12:sum = 334;break; default:printf("data error!
");break; } sum = sum + day; //再加上某天的天数 if(year%400==0||(year%4==0&&year%100!=0)){ //判断是不是闰年 leap = 1; }else{ leap = 0; } if(leap == 1&&month > 2){ //如果是闰年且月份大于2,总数加1天 sum++; } printf("It is the %dth day.
",sum);}./explease input year,month,day2019 3 21It is the 80th day.

#include <stdio.h>
int main()
{
int day,mn,yr,i,days=0,s,k;
int mont[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
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'}
};
printf("Inpute the date (year-month-day):");
scanf("%d-%d-%d",&yr,&mn,&day);
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;
printf("%d-%d-%d is %s.",yr,mn,day,wek[k]);
return 0;
}


设计一个C语言程序:输入年月,显示该月的天数。
include <stdio.h> void main(){ int year,month;scanf("%d%d",&year,&month);switch(month){ case 1:case 3:case 5:case 7:case 8:case 10:case 12:printf("31");break;case 4:case 6:case 9:case 11:printf("30");break;case 2:if((year%4==0&&year%100!=0)||year%400=...

C语言编程:输入某年某月某日判断这一天是一年的第几天的程序是是什么...
include \\x0d\\x0a\\x0d\\x0a\/\/返回指定年月日是对应年度的第几天\\x0d\\x0aint getDays(int month,int day);\\x0d\\x0aint isRunnian(int year);\\x0d\\x0a\\x0d\\x0aint main(int argc,char* argv[])\\x0d\\x0a{\\x0d\\x0aint year=0;\\x0d\\x0aint month=0;\\x0d\\x0a...

编写一个c语言程序,输入一个年月日,输出这个日期是这一年的第几天...
请分别输入年月日三个数值,计算出这是这一年的第几天?(提示:要考虑闰年和2月的情况)*\/#include <stdio.h>void main(){int year=0,month=0,day=0,i=0,sum=0;while(1){printf("请输入年份:");scanf("%d",&year);printf("请输入月份:");scanf("%d",&month);printf("请输入日...

c语言编写程序从键盘任意输入年份和月份,计算出这一年的这一个月有...
主要判断出该年是否为闰年即可,C语言代码如下:include <stdio.h> int main(){ int y, m;scanf("%d %d", &y, &m);int month[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};if ((y % 4 == 0 && y % 100 != 0) || (y % 400 == 0)) \/\/...

c语言程序,输入年月日,判断这一天是这一年的第几天,同时判断这一天是星...
cat ex1.c\/* 程序分析:以3月5日为例,应该先把前两个月的加起来, 然后再加上5天即本年的第几天,特殊情况,闰年且输入 月份大于3时需考虑多加一天。*\/#include<stdio.h>int main(){ int day, month, year, sum, leap; printf("\\nplease input year,month,day\\n")...

C语言程序,输入年月日算出当天星期几
先做一个函数,计算1900年1月1日到该天的天数,然后用膜除求出星期几并输出。具体代码如下:include <stdio.h>#include <stdlib.h>int Day(int y,int m,int d);int main(int argc, char *argv[]) {int i; \/\/循环变量int year,month,day; \/\/读取用户输入的年月日int days; \/\/...

python输入月份应该多少天(2023年最新整理)
由于Python语言的简洁性、易读性以及可扩展性,在国外用Python做科学计算的研究机构日益增多,一些知名大学已经采用Python来教授程序设计课程。例如卡耐基梅隆大学的编程基础、麻省理工学院的计算机科学及编程导论就使用Python语言讲授。 python任意输入一个月份(1—12),判断该月份有多少天(不考虑2月份29天的特殊情况)? def...

C语言编程序实现如下功能:输入任意一个日期的年、月、日的值,求出是...
include <stdio.h> int main (){ int y, m, d, c, w;printf ("输入年 月 日(空格间隔):");scanf ("%d %d %d", &y, &m, &d);if (m ==1 || m == 2) { \/\/判断月份是否为1或2 y--;m += 12;} c = y \/ 100;y = y - c * 100;w = (c \/ 4) - 2 *...

求一个输入年月日,可以显示该月份日历的C语言程序! 求大神帮忙...
include<stdio.h>\/*得到所输入年月的第一天是星期几0~6*\/int getdate(int y,int m);\/*判断所输入的是否是闰月,是则返回1,否则返回0*\/int leap(int y);\/*打印输入月份月历表*\/void print(int y,int m);int main(){ int y,m; printf("输入年份和月份:"); scanf("%d%d",...

用c语言从键盘任意输入一个日期(年月日),输出第二天的日期(年月日...
intdays;if(month==2){ if(year%4==0&&year%100!=0||year%400==0)return29;return28;} switch(month){ case1:case3:case5:case7:case8:case10:case12:days=31;break;case4:case6:case9:case11:days=30;break;} returndays;} intmain(){ intyear,month,day,days;printf("年月日:...

东光县18560685434: C语言程序,输入年月日算出当天星期几 -
仲孙诗银黄: #include "stdio.h"void CaculateWeekDay(int y,int m, int d){if(m==1||m==2) {m+=12;y--;}int iWeek=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7;switc...

东光县18560685434: C语言程序,输入年月日算出当天星期几 -
仲孙诗银黄: #include int main() { int day,mn,yr,i,days=0,s,k; int mont[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; 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',...

东光县18560685434: 怎样用C语言编写:输入年份、月份、日期,运行得到的是这一天是星期几 -
仲孙诗银黄: #include<stdio.h>#include<math.h>main(){int a,b,c,k,g;int x,y;printf("请输入年月日,年月日之间用逗号隔开:");scanf("%d,%d,%d",&a,&b,&c);x=a/100;//x代表这一年的前两位y=a%100;//y代表这一年的后两位k=x/4+y-x*2+y/4+(26*b+26*1)/10+c-1;g=k%7;printf("这一天是星期%d\n",g);}

东光县18560685434: C语言:输入任意年月日,求该天是星期几? -
仲孙诗银黄: #include int year1=2007,month1=1,day1=1; char week[7][9]={"Monday","Tuesday","Wednesday","Thusday","Friday","Saturday","Sunday"}; int Month1[]={31,28,31,30,31,30,31,31,30,31,30,31}; int Month2[]={31,29,31,30,31,30,31...

东光县18560685434: 求一个C语言程序 输入年月日知道那天是星期几? 求比较简单点的新手能看懂的 -
仲孙诗银黄: 算法步骤: (1) 输入年份 year(2) 根据公式:d=year+(year-1)/4-(year-100)/100+(yrar-1)/400 ; d=d%7; d=0 则表示为Sunday,d=1 表示Monday 计算这一年的元旦是星期几;(3) 输入月份Month和日期day ,计算该日期是这个年份中的第几天...

东光县18560685434: C语言编程序实现如下功能:输入任意一个日期的年、月、日的值,求出是星期几并输出. -
仲孙诗银黄: #include void main () {int y,m,d,c,s,w;printf("请输入8位年月日,以空格隔开:");scanf("%d%d%d",&y,&m,&d);if (m==1) c=d;else if (m==2) c=31+d;else if (m==3) c=31+28+d;else if (m==4) c=31+28+31+d;else if (m==5) ...

东光县18560685434: 怎样用c语言程序对所输入的日期知道它的星期几数 -
仲孙诗银黄: #include<stdio.h> #include<stdlib.h>char str[7][10]={"星期天","星期一","星期二","星期三","星期四","星期五","星期六"}; int year,month,day; int IsLeapYear() { if((year%4==0&&year%100!=0)||(year%400==0)) return 1; ...

东光县18560685434: 输入日期得星期几的算法 C语言 -
仲孙诗银黄: 设定一个日期为星期日,如204.11.02 那么把这个数相加作为w(定量),设输入的日期为变量y. { (y-w)/7 ......n if n=0 输出星期天 if n=1 输出星期一 . . . . if n=6 输出星期六} 完毕

东光县18560685434: 数组c语言 输入某年某月某日 判断这一天是星期几 -
仲孙诗银黄: #include <stdio.h> int j_rn(int y) { if(y%4==0&&y%100!=0||y%400==0) return 1; else return 0; } main() { int y,m,d,s=28,n,num; printf("\n请输入年月日用空格隔开:"); scanf("%d %d %d",&y,&m,&d); if(j_rn(y)) s=29; switch(m) {case 1:n=d;break...

东光县18560685434: 初学者简单的C语言编程 输入年月日得出是星期几 遇到了麻烦望大家指点一下 -
仲孙诗银黄: 我觉得这样写可能好点#include <stdio.h>#include <stdlib.h>#define DYTS 31 //大月天数#define XYTS 30 //小月天数#define RYTS 29 //闰月天数(2008年是一闰年) #define YZTS 7 //一周天数 int main(void) { int yue,ri; //日,月 int tian = 0 ; //存...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网