重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
先做一个函数,计算1900年1月1日到该天的天数,然后用膜除求出星期几并输出。
创新互联公司是一家专注于网站制作、成都做网站与策划设计,涟水网站建设哪家好?创新互联公司做网站,专注于网站建设十余年,网设计领域的专业建站公司;建站业务涵盖:涟水等地区。涟水做网站价格咨询:028-86922220
具体代码如下:
#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; //储存从1900-1-1到该天的天数
int week=0; //储存求余后的星期
//字符串组合输出星期
char b[]={"星期"};
char c[7][4]={"日","一","二","三","四","五","六"};
loop:printf("请输入年 月 日:(空格分隔)\n");
scanf(" %d%d%d",year,month,day);
days=Day(year,month,day);
//增强程序的健壮性
if(days==-1)
{
printf("输入格式有误,");
fflush(stdin); //防止用户输入字母等其他非数字字符
goto loop;
}
else
{
week=days%7; //用求余计算星期几
printf("%d年%d月%d日是%s%s\n",year,month,day,b,c[week]);
}
system("pause");
return 0;
}
//函数功能:输入年月日,输出1900-1-1到该天的天数,-1位输入不合法
int Day(int y,int m,int d)
{
int i;
int r=0; //储存1900到该天的闰年个数
int a[]={31,28,31,30,31,30,31,31,30,31,30}; //m给每出月的天数
if(y=1900 m0 m13 d0 d32)
{
for(i=1900;i=y;i++) //计算闰年的个数
{
if(i%400==0||i%100!=0i%4==0)
r++;
}
for(i=0;im-1;i++) //统计当年1月1日到当月的天数
{
d+=a[i];
}
if((y%400==0||y%100!=0y%4==0)m3) //如果当年是闰年但不到二月就不能算进去
r--;
return 365*(y-1900)+r+d;
}
else
return -1;
}
#include"stdio.h" char xq[7][10]={"星期一","星期二","星期三","星期四","星期五","星期六","星期日"}; void get_result(int day){ int day_after10;//用来保存10后是星期几 day_after10=(day-1+10%7)%7;//计算10天后是星期几 printf("10天后是:%s\n",xq[day_after10]);//输出结果 } void main(){ int day; printf("今天是星期几:"); scanf("%d",day); while(day1||day7){ printf("必须是1至7之间的一个数,请重新输入:"); scanf("%d",day); }//当输入的数据不满足规则时,循环输入直到满足规则为止 get_result(day); }
#includestdio.h
int main(void)
{
enum weekday{ sun, mon, tue, wed, thu, fri, sat };
int n;
printf("输入星期数(0-6):");
scanf("%d", n);
switch (n)
{
case sun:printf("今天是星期天.\n"); break;
case mon:printf("今天是星期一.\n"); break;
case tue:printf("今天是星期二.\n"); break;
case wed:printf("今天是星期三.\n"); break;
case thu:printf("今天是星期四.\n"); break;
case fri:printf("今天是星期五.\n"); break;
case sat:printf("今天是星期六.\n"); break;
default:
break;
}
return 0;
}
#include stdio.h
#include time.h
int main() {
int year, month, day;
printf("Enter a date (yyyy-mm-dd): ");
scanf("%d-%d-%d", year, month, day);
struct tm tm = {0};
tm.tm_year = year - 1900;
tm.tm_mon = month - 1;
tm.tm_mday = day;
tm.tm_isdst = -1;
time_t t = mktime(tm);
char* weekday[] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
printf("%s\n", weekday[localtime(t)-tm_wday]);
return 0;
}
在这段代码中,使用了 time 库中的 mktime 函数和 localtime 函数来将日期转换为时间戳,并使用 tm_wday 字段来计算日期是星期几。
#includestdio.h
int main()
{
int n,m;
char a[8][20]={"www","星期一","星期二","星期三","星期四","星期五","星期六","星期日",};
scanf("%d%d",n,m);
for(int i=1;i=m;i++)//从星期n开始过m天;也就是循环m次;
{//n在[1,7]之间不停的循环;
if(n!=7)//不等于星期日,星期数加一;
n++;
if(n==7)//直到星期数等于星期日
{
n=1;//将星期数又重置为星期一;
}
}
for(int i=0;i=7;i++)
{
if(n==i)
printf("%s",a[i]);
}
return 0;
}
希望能帮到你,望采纳