char *WEEK[7] = { "星期天", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" }; struct demand { char name[5]; int day[7]; } man[7];
时间: 2024-03-17 16:38:22 浏览: 15
这段代码定义了一个字符指针数组`WEEK`,其中包含了一周的星期几的字符串表示。另外,还定义了一个结构体`demand`,其中包含了一个名为`name`的字符数组和一个名为`day`的整型数组。结构体数组`man`包含了7个元素,每个元素都是`demand`类型的对象。
这段代码的作用可能是用来表示某个需求的人在一周内的工作安排。每个人的名字通过`name`字段表示,而每个人在一周内的工作安排则通过`day`数组表示,数组的每个元素对应一天,值表示该天是否有工作安排。
相关问题:
1. 请问这段代码是用来做什么的?
2. `char *WEEK`中的星期几字符串是如何使用的?
3. `struct demand`中的`name`和`day`字段分别表示什么?
4. `man`中的每个元素代表了什么意思?
5. 这段代码有没有可能存在潜在的问题或错误?
6. 如何访问`man`中的第四天的工作安排?
相关问题
今天是星期一,过了 1 天是星期二,请编程序输出过了m天是星期几?输出结果用英文表示(大小写不能错啊):星期一:Monday;星期二:Tuesday;星期三:Wednesday;星期四:Thursday;星期五:Friday;星期六:Saturday;星期日:Sunday 。
好的,下面是C语言代码实现:
```c
#include <stdio.h>
#include <string.h>
int main() {
char *week[7] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
int m;
printf("请输入过了几天:");
scanf("%d", &m);
int index = (m % 7 + 1) % 7; // 计算星期几对应的下标
printf("过了%d天是%s\n", m, week[index]);
return 0;
}
```
程序中定义了一个字符串数组,存储每个星期对应的英文单词。使用 scanf 函数输入过了几天,然后计算出对应的星期几的下标,最后输出结果。注意,计算下标时要先对 m 取模,再加1,再对7取模,这样可以避免 m 为7的倍数时出现下标为0的情况。
用c++编写显示某年某月某日是星期几的代码,已知1980年1月1日 是星期二
以下是用C语言编写的代码:
```c
#include <stdio.h>
int main() {
int year, month, day;
printf("请输入年份:");
scanf("%d", &year);
printf("请输入月份:");
scanf("%d", &month);
printf("请输入日期:");
scanf("%d", &day);
int days[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int total_days = 0;
for (int i = 1980; i < year; i++) {
if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0) {
total_days += 366;
} else {
total_days += 365;
}
}
for (int i = 0; i < month - 1; i++) {
total_days += days[i];
if (i == 1 && (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)) {
total_days += 1; // 闰年2月加1天
}
}
total_days += day - 1; // 当月天数要减1才能计算
int week_day = (total_days + 2) % 7; // 1980年1月1日是星期二
char* week_days[] = {"星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"};
printf("%d年%d月%d日是%s\n", year, month, day, week_days[week_day]);
return 0;
}
```
该程序通过输入年份、月份和日期,计算出这一天是星期几。具体思路为:
1. 定义一个整型数组days,表示每个月的天数。
2. 通过循环累加出输入年份之前的总天数。
3. 再通过循环累加出输入月份之前的总天数。
4. 最后加上输入日期,得到总共的天数。
5. 用总天数加上1980年1月1日是星期二的偏移量,再取模7,即可得到这一天是星期几。
6. 最后输出结果,使用char*类型的数组week_days存储星期几的字符串,根据计算结果输出相应的字符串即可。
需要注意的是,闰年2月有29天,需要特判。另外,当月天数要减1才能计算。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)