在C语言中创建一个数组,数组a的第0至2位分别代表消毒开始时间的秒,分钟和小时,数组a的第3至第5位分别代表消毒结束时间的秒,分钟和小时。现在我将当前时间以秒,分钟,小时的顺序存放在数组b中。请编写程序,判断当前时间是否在消毒时间内,正确的做法是需要先判断秒是否在消毒时间内,如果不在的话,需要进行分钟和小时的判断,直到确定当前时间是否在消毒时间内
时间: 2023-06-08 07:06:24 浏览: 39
。以下是编写的程序:
```c
#include<stdio.h>
int main(){
int a[6]={30,50,15,0,30,16}; // 消毒时间,秒分时秒分时
int b[3]={20,50,15}; // 当前时间,秒分时
int flag=0; // 标记是否在消毒时间内
if(b[0]>=a[0] && b[0]<=a[3]){ // 判断秒是否在消毒时间内
flag=1;
}else if(b[1]>=a[1] && b[2]==a[2]){ // 判断分是否在消毒时间内
flag=1;
}else if(b[2]>=a[2] && b[2]<=a[5]){ // 判断时是否在消毒时间内
flag=1;
}
if(flag){
printf("当前时间在消毒时间内!\n");
}else{
printf("当前时间不在消毒时间内!\n");
}
return 0;
}
```
在这个程序中,我们先定义了两个数组a和b,分别存放消毒时间和当前时间。
接着,我们定义了一个标记变量flag,并初始化为0,用来标记当前时间是否在消毒时间内。
然后,我们按照题目所给的要求进行判断,首先判断秒是否在消毒时间内,如果是,则将flag置为1;如果不是,则进入下一步判断。接着,我们判断分是否在消毒时间内,如果是,则将flag置为1;如果不是,则进入下一步判断。最后,我们判断时是否在消毒时间内,如果是,则将flag置为1。如果当前时间在消毒时间内,flag的值就会是1,否则就是0。
最后,我们根据flag的值输出结果,如果flag为1,说明当前时间在消毒时间内,否则就不在消毒时间内。
运行程序,输出结果如下:
```
当前时间在消毒时间内!
```
这说明当前时间是在消毒时间内的。