#include <stdio.h> typedef enum{Sun,Mon,Tue,Wed,Thu,Fri,Sat} Weekday; Weekday zeller(int y,int m,int d) { int c; Weekday w; c=y/100 ;y=y%100; w=(c/4-2*c+y+y/4+13*(m+1)/5+d-1)%7; return w; } int main() { int y,m,d,w; printf("请输入一个日期(yyyy-mm-dd):"); scanf("%d-%d-%d",&y,&m,&d); w=zeller(y,m,d); switch(w){ 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"); } return 0; }zeller公式计算日期y-m-d对应的星期数w时,需要在m=1或2时,将月份变成上一年的13或14月,为此,需要更正实验步骤1中zeller函数,在第4行Weekday w;之后添加y和m的变换代码,请给出该代码。在实验第1步中,要显示main函数第6行w对应的星期名该如何做?
时间: 2024-03-20 22:41:00 浏览: 15
在第6行switch语句中,可以根据枚举类型的值进行判断,并输出对应的星期名称,例如:
```
switch(w){
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");
}
```
要更正实验步骤1中zeller函数,在第4行Weekday w;之后添加y和m的变换代码,可以如下实现:
```
Weekday zeller(int y,int m,int d) {
int c;
//将1月、2月看成上一年的13月、14月
if(m==1 || m==2){
m+=12;
y--;
}
c=y/100 ;y=y%100;
Weekday w=(c/4-2*c+y+y/4+13*(m+1)/5+d-1)%7;
return w;
}
```
相关问题
C语言中 #include “stdio.h"和#include <stdio.h>有什么区别
在C语言中,`#include`是一个预处理指令,用于将其他文件的内容包含到当前文件中。`#include "stdio.h"`和`#include <stdio.h>`是两种不同的包含方式,它们的区别如下:
1. `#include "stdio.h"`:使用双引号包围文件名,表示在当前目录下搜索要包含的文件。如果当前目录下不存在该文件,则会继续搜索系统指定的标准库路径。这种方式通常用于包含自定义的头文件。
2. `#include <stdio.h>`:使用尖括号包围文件名,表示在系统指定的标准库路径中搜索要包含的文件。这种方式通常用于包含标准库的头文件。
总结起来,`#include "stdio.h"`用于包含自定义的头文件,而`#include <stdio.h>`用于包含标准库的头文件。
#include <stdio.h> #include <stdlib.h> typedef int ElemType; typedef struct LNode { ElemType da
`#include <stdio.h>`和`#include <stdlib.h>`是C语言中的两个头文件。`<stdio.h>`是标准输入输出头文件,提供了一些用于输入输出的函数和宏定义。`<stdlib.h>`是标准库头文件,提供了一些常用的函数和宏定义,如内存分配、随机数生成等。
在你的代码中,`typedef int ElemType;`定义了一个类型别名,将`int`类型命名为`ElemType`。
`typedef struct LNode`定义了一个结构体类型`LNode`,结构体是一种自定义的数据类型,可以包含多个不同类型的成员变量。在这里,`LNode`结构体中的成员变量还没有完整定义,因此代码截断了。