永发信息网

c++ 中 cin 的一点小问题

答案:6  悬赏:70  手机版
解决时间 2021-01-29 12:04
#include
#include
#include
#define fo(x,y,z) for (int x=y;x<=z;x++)
#define N 100001
int a[N],f[N][2],fa[N];
int n,m=0,s,t;
struct ta{
int x,y,next;
void plug(int x,int y){x=x,y=y,next=a[x],a[x]=m;}
}e[2*N];
void dfs(int x,int f){
int j=a[x];
fa[x]=f;
while (j){
if (fa[e[j].y]){
if (e[j].y!=f) s=x,t=e[j].y;
}else
dfs(e[j].y,x);
j=e[j].next;
}
}
void init(){
int tmp,y;
cin >> n;
fo (i,1,n){
cin >> tmp;
fo (j,1,tmp){
cin >> y;
e[++m].plug(i,y);
}
}
dfs(1,0);
}
int main(){
init();
work();
return 0;
}

这段程序在C-FREE中编译有错误,问题是[Error] C:\Users\Michael\Documents\cpp\1029.cpp:28: error: `cin' was not declared in this scope,在cin>>n;的位置,为啥?
最佳答案
这是一个比较标准的写法,参考一下:
#include
#include
using namespace std;
int main()
{
int a = 0 , b = 1;
cin >> a ;
cout << a << endl ;
if(cin.fail())//如果发生输入错误的话
{
cin.clear(); //清除cin流的错误状态
cin.ignore();//提取并舍弃错误输入
}
cin >> b ;
cout << b << endl;
}
全部回答
少一句 ”using namespace std;“或者把#include改为#include
#include #include #include #define fo(x,y,z) for (int x=y;x<=z;x++) #define N 100001 using namespace std;//加上这句 int a[N],f[N][2],fa[N]; int n,m=0,s,t; struct ta{ int x,y,next; void plug(int x,int y){x=x,y=y,next=a[x],a[x]=m;} }e[2*N]; void dfs(int x,int f){ int j=a[x]; fa[x]=f; while (j){ if (fa[e[j].y]){ if (e[j].y!=f) s=x,t=e[j].y; }else dfs(e[j].y,x); j=e[j].next; } } void init(){ int tmp,y; cin >> n; fo (i,1,n){ cin >> tmp; fo (j,1,tmp){ cin >> y; e[++m].plug(i,y); } } dfs(1,0); } int main(){ init(); work(); return 0; }
这样写: #include #include #include #define fo(x,y,z) for (int x=y;x<=z;x++) #define N 100001 using namespace std//这句时把标准库里的流类和对象加入到文件中 或者你也可以这样写: #include #include #include //这里边就直接定义所需要的类和对象了 #define fo(x,y,z) for (int x=y;x<=z;x++)
加一句using namespace std; 或者在每个cin和cout前都加上std:: 。 另外,敢问你的work()函数有定义过吗?会报错的。
#include using namespace std; int main() { int a = 0 , b = 1; cin >> a ; //如果此时给a输入一个字母 为什么就不给我给b输入的机会? //注意:输入字母时,流是无效的 cout << a << endl ; fflush(stdin);//加入这句清除缓冲区。先清除再设置流状态 cin.clear(); cin >> b ; //如果给a输入一个字母 这一句会自动跳过 为什么? cout << b << endl; return 0; }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
钥匙插进锁里了 旋转移点点后 就转不动了 也
轻民的意思是什么啊?知道的请说下!
一只蓝鲸的重量?
平度好e家酒店怎么去啊,我要去那办事
【如果,北极寂寞了.赤道会不会,替她包围寒冷?
男方说我们就差一层窗户纸捅破就好了什么意思
怎样才能考到高分?
平度先明宾馆地址有知道的么?有点事想过去
愁困的意思是什么啊?知道的请说下!
-We are from CCTV.Did you see ( )the alien
1米55,14岁女,80斤算不算胖
虎皮鹦鹉好像有皮肤病了,怎么办呢?
平度丽杰旅馆地址在哪,我要去那里办事
宫词二首是什么诗?
狗狗吐血水是怎么回事
推荐资讯
呼市冠芝霖手机大卖场怎么样?
贴双眼皮贴的时候不撕而用卸妆水卸能防止眼皮
买苹果手机去哪个网站好
山茶花耐寒吗
澄海3C里电脑属性为什么那么高? 急求
sssaa8888这条微信号是真的还是假的
一部小说 主角有个升级系统还有青龙圣体又渡
关于梅兰竹菊的古诗
兴隆加油站(212国道沙岗坡路段、永辉机械厂对
荣威550手动挡为什么一挡起步的时候,离合气放
在pr中调高音量后,导出后会使音质有模糊感
艾孀的意思是什么啊?知道的请说下!
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?