输入两个整数分别表示晚自习的时长跟播放一首歌的时长,输出一个正整数表示播放第几首歌的时候晚自习结束 c语言
时间: 2024-09-28 22:15:27 浏览: 25
C++初学者之根据输入的任何一个正整数,输出可能被表示的连续正整数
5星 · 资源好评率100%
在C语言中,你可以通过创建一个循环结构来解决这个问题。假设我们有一个数组或动态内存存储多首歌曲,每首歌曲的时长相等。下面是一个简单的示例:
```c
#include <stdio.h>
#define MAX_SONGS 10 // 可以增加更多歌曲
int main() {
int homework_duration, song_duration;
int songs[MAX_SONGS] = {5, 4, 6, 7, 3, 8, 2, 9, 5, 1}; // 每首歌时长(这里仅为例子)
printf("请输入晚自习的时长(分钟):");
scanf("%d", &homework_duration);
printf("请输入每首歌的时长(分钟):");
scanf("%d", &song_duration);
int song_index = 0; // 当前播放的歌曲索引
while (homework_duration > 0) {
homework_duration -= song_duration; // 每次减去一首歌的时间
if (homework_duration <= 0) {
break; // 如果作业时间足够完成一首歌,就结束循环
}
song_index++; // 到了下一首歌
}
if (homework_duration > 0) {
song_index--; // 如果还有剩余的作业,说明最后一首歌还没完
}
printf("当播放第 %d 首歌的时候晚自习结束。\n", song_index + 1); // 加1是因为索引从0开始计数
return 0;
}
```
在这个程序中,用户输入晚自习时间和单首歌曲时长,然后计算需要播放多少首歌才能让晚自习结束。
阅读全文