题目链接: L1-077 大笨钟的心情
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站:人工智能教程
目录:
题目要求:
有网友问:未来还会有更多大笨钟题吗?笨钟回复说:看心情……
本题就请你替大笨钟写一个程序,根据心情自动输出回答。
输入格式:
输入在一行中给出 24 个 [0, 100] 区间内的整数,依次代表大笨钟在一天 24 小时中,每个小时的心情指数。
随后若干行,每行给出一个 [0, 23] 之间的整数,代表网友询问笨钟这个问题的时间点。当出现非法的时间点时,表示输入结束,这个非法输入不要处理。题目保证至少有 1 次询问。
输出格式:
对每一次提问,如果当时笨钟的心情指数大于 50,就在一行中输出 心情指数 Yes
,否则输出 心情指数 No
。
输入样例:
80 75 60 50 20 20 20 20 55 62 66 51 42 33 47 58 67 52 41 20 35 49 50 63
17
7
3
15
-1
输出样例:
52 Yes
20 No
50 No
58 Yes
思路:
1.先将23个数字用循环遍历的方式存到数组h中
2.循环每行输入一个数字x,如果不在0~23范围内或者x为-1,则结束循环
3.判断幸福指数是否大于50,并根据幸福指数输出相对应的结果
读取一个包含24个整数的数组h
,然后对于后续输入的每个整数x
,检查x
是否在数组h
的索引范围内(即0到23),并且检查h[x]
的值是否大于50。根据这些条件,代码输出相应的结果。
让我们逐步分析代码:
头文件和命名空间:这包括了几乎所有的标准库,并使用了 std
命名空间。
#include <bits/stdc++.h>
using namespace std;
主函数:这是程序的入口点。
int main()
{
....
}
变量声明:定义一个大小为24的整数数组h
int h[24];
定义一个整数变量x
,用于存储后续输入的每个整数。
int x;
使用一个for
循环读取24个整数,并将它们存储在数组h
中。
while(cin >> x)
使用一个while
循环不断读取整数x
,直到输入的是-1、一个负数或者一个大于23的整数为止。在每次循环中:
- 如果
x
不在0到23的范围内,或者x
是-1,则跳出循环。- 否则,检查
h[x]
的值是否大于50。- 如果
h[x]
大于50,则输出h[x]
的值和字符串"Yes"。- 如果
h[x]
不大于50,则输出h[x]
的值和字符串"No"。
while(cin >> x)
{
if(x == -1 || x < 0 || x > 23)
break;
if(h[x] > 50)
cout << h[x] << " " << "Yes" << endl;
else
cout << h[x] << " " << "No" << endl;
}
结束程序:主函数返回0,表示程序正常结束。
return 0;
代码:
#include <bits/stdc++.h>
using namespace std;
int main()
{
int h[24];
for(int i = 0; i < 24;i ++)
cin >> h[i];
int x;
while(cin >> x)
{
if(x == -1 || x < 0 || x > 23)
break;
if(h[x] > 50)
cout << h[x] << " " << "Yes" << endl;
else
cout << h[x] << " " << "No" << endl;
}
}