在C++中的用法
一、读取数字
while((cin >> a) != 0)
作用是:从文件或终端一直读取数据直到读取到文件结束符或输入错误才退出循环。
要注意的是:在终端(黑框)中手动输入时,系统并不知道什么时候到达了所谓的“文件末尾”,因此需要用<Ctrl + z>组合键然后按 Enter 键的方式来告诉系统已经到了EOF,这样系统才会结束while。
while (cin>>n,n)
作用是:输入一个数,这数不为0时进入循环,为0时跳出循环。
二、读取字符
getline与char数组用法:
(1)
char a[100];
cin.getline(a,100);//字数限制
(2)
char a[100];
cin.getline(a,100,'@');//字数限制加上截止字符
getline与string用法
(1)
string a;
getline(cin,a);
(2)
string a;
getline(cin,a,'@');
在C中的用法
while(scanf("%d",&n) != EOF)
这句话相当于"~scanf("%d",&n)",或"scanf("%d",&n) == 1 " ,就是说当当前输入缓存还有东西时就一直读取,直到输入缓存中的内容为空时停止。
while(scanf("%d",&n) && n)`
等价于
while(scanf("%d",&n)&&n!=0)
或
while(scanf("%d",&n),n)
输入两个数直至文件结束符 HDU-1095
while (scanf("%d %d", &a, &b) != EOF)
输入一个数t直至文件结束符,接着输入t个数 HDU-1094
while(scanf("%d",&t)!=EOF)
while(t--)
scanf("%d",&a);
输入的第一行包含一个整数N,然后跟随N行。每行以整数M开头,然后在同一行中跟随M个整数。HDU-1093
while (scanf("%d",&N)!=EOF)
while (N--)
scanf("%d",&M);
while (M--)
scanf("%d",&z);
每个测试用例包含一个整数N,然后在同一行中跟随N个整数。以0开头的测试用例将终止输入,并且该测试用例将不被处理。HDU-1092
while((scanf("%d",&n))!=EOF&&n)
while(n--)
scanf("%d",&i);
每个测试用例都包含一对整数a和b,每行一对。包含0 0的测试用例将终止输入,并且该测试用例将不被处理。 HDU-1091
while((scanf("%d%d",&a,&b)!=EOF)&&(a!=0||b!=0))