5个led灯全亮,亮2秒后3个led熄灭用c语言怎么写
时间: 2023-03-23 22:02:46 浏览: 204
根据题目意思翻译,您的问题是:“5个LED灯全亮,亮2秒后3个LED灯烧毁,用C语言怎么写?”
以下是用C语言实现这个问题的一个简单方法:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int leds[5] = {1, 1, 1, 1, 1}; // 五个灯初始全亮,用1表示亮,0表示灭
int i;
// 打印初始状态
printf("初始状态:");
for (i = 0; i < 5; i++) {
printf("%d ", leds[i]);
}
printf("\n");
// 两秒后随机熄灭三个灯
srand((unsigned int)time(NULL)); // 设置随机数种子
sleep(2);
printf("2秒后:");
for (i = 0; i < 3; i++) {
int rand_led = rand() % 5; // 生成0-4之间的随机数
leds[rand_led] = 0;
}
for (i = 0; i < 5; i++) {
printf("%d ", leds[i]);
}
printf("\n");
return 0;
}
```
上面的代码使用了数组来表示五个LED灯的状态,初始状态都是1,表示全亮。然后用`printf`函数打印出初始状态。接着使用了`time`函数和`srand`函数来生成随机数种子,再用`rand`函数来生成0-4之间的随机数,将对应的LED灯状态设置为0,表示灭了。最后再用`printf`函数打印出新的状态。
需要注意的是,上面的代码使用了`sleep`函数来暂停程序执行两秒钟,以满足题目中“亮2秒后”这个要求。另外,需要注意的是,上面的代码并没有对LED灯的烧毁进行模拟,如果需要模拟烧毁的效果,可以在随机选择灯的时候,将已经烧毁的灯排除在外。
阅读全文