用C语言编写一个程序完成下列题目,题目描述 从前有座山,山里有座庙,庙里有口井,井里有只昏迷的小蜗牛。 某一天,这只蜗牛终于醒了,发现这里并不是自己的家,却也不知道自己是怎么来到这口井的。摇摇头,头还很昏;望望天,哇,天空竟如此美丽……所以,这只蜗牛下定决心爬出井去外面看看。但它也不能没日没夜的爬,不然还没爬出井,说不定就累死了,所以它白天努力向上爬,晚上还是要休息的,由于自身的特殊性,蜗牛可以尽力保持在原地进行休息。但是由于强大的地球引力,蜗牛每晚上还是会下落一段距离。假设这口井深L米,这只蜗牛白天可以向上爬a米,晚上落下b米。那么这只蜗牛需要几天才能出去呢? 输入要求 第一行一个整数T(1≤T≤100)表示测试数据组数。 对于每组测试数据,一行输入三个整数L,a和b(0<L≤1000,0≤a,b≤100)。 输出要求 对于每组测试数据输出一个整数表示这只蜗牛需要几天才能出去。如果这只蜗牛永远也不能出去则输出-1。 输入样例 2 1 1 0 1 0 1 输出样例 1 -1
时间: 2023-10-26 22:07:14 浏览: 70
```c
#include<stdio.h>
int main()
{
int t, l, a, b;
scanf("%d", &t);
while(t--)
{
scanf("%d%d%d", &l, &a, &b);
if(a <= b) // 如果爬不过井口,永远出不去
{
printf("-1\n");
continue;
}
int day = 0;
while(1) // 不断循环直到出去为止
{
day++;
l -= a; // 白天向上爬
if(l <= 0) // 白天向上爬,如果已经爬出井口,跳出循环
{
break;
}
l += b; // 晚上下落
}
printf("%d\n", day);
}
return 0;
}
```
相关问题
用C语言编写一个洛谷题目p2822的答案
对于洛谷题目p2822,需要编写一个程序,输入一个正整数n,然后输出n的阶乘。
以下是用C语言编写的程序:
```
#include <stdio.h>
int main()
{
int n, i;
long long factorial = 1;
printf("请输入一个正整数n:");
scanf("%d", &n);
for(i = 1; i <= n; i++)
{
factorial *= i;
}
printf("%d的阶乘为%lld", n, factorial);
return 0;
}
```
这个程序中,首先定义了变量n、i和factorial。其中,n用于存储输入的正整数,i用于循环计数,factorial用于计算阶乘。
然后,程序输出提示信息,要求用户输入一个正整数n。接着,程序使用scanf函数读取用户输入的n。
接下来,程序使用for循环计算n的阶乘。循环从1开始,一直执行到n,每次将i乘以factorial。最后,程序输出n的阶乘。
需要注意的是,n的阶乘可能非常大,如果使用int类型存储,可能会出现溢出。因此,可以使用long long类型来存储阶乘。
使用c语言编写词法分析程序,用C语言编写一个简单的词法分析程序
好的,我可以回答这个问题。词法分析程序是编译器中的一个重要组成部分,它可以将源代码中的字符流转换为有意义的单词序列。在C语言中,可以使用诸如正则表达式、有限状态自动机等技术来实现词法分析程序。一般来说,词法分析程序会将源代码中的字符流分解为不同的单词,例如关键字、标识符、运算符、常量等等。这些单词可以被编译器后续的处理阶段所使用。