#include
#include
#include
using namespace std;
int main() {
int N, M, K, x, y, j, i;
float s, c;
cin >> N;
set<int> a[50];
for (i = 1; i <= N; i++) {
cin >> M;
for (j = 0; j < M; j++) {
cin >> x;
a[i].insert(x);
}
}
set<int> b;
set<int>::iterator its;
set<int>::iterator it;
cin >> K;
for (i = 0; i < K; i++) {
c = 0;
cin >> x >> y;
for (it = a[x].begin(); it != a[x].end(); it++)
b.insert(*it);
for (its = a[y].begin(); its != a[y].end(); its++) {
b.insert(*its);
if (*its == *it)
c++;
}
s = c * 100.0/b.size();
printf("%.2f%\n", s);
}
return 0;
}
不知道你这个问题是否已经解决, 如果还没有解决的话:显然不是,比如我们在玩游戏的时候一般会用到wasd四个键控制方向,而且一般来说都是需要按下即响应.试想此时如果使用了缓冲区,按一下按键还要敲一下回车才能响应,这游戏也就没法玩了.
所以还是看情况,需要和不需要缓冲区的情况都是存在的.
抱歉,根据提供的信息,我无法确定实验6.3的具体内容,也无法判断出导致结果为零的可能性。请提供更具体的问题描述和步骤,我会尽力帮助解决问题。
代码功能归根结底不是别人帮自己看或讲解或注释出来的;而是被自己静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。
提醒:再牛×的老师也无法代替学生自己领悟和上厕所!
单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。