单次输入

C语言

int a,b;

scanf("%d %d",&a,&b);

C++语言

int a,b;
cin >> a >> b;

循环输入

C语言

int a,b;

while(scanf("%d %d",&a,&b)!=EOF){

};

C++语言

int a,b;

while(cin >> a >> b){

};

输入字符串

cin 遇到 '\n' 或者 ' ' 结束输入。

getline 总是从第一行开始读取字符串,不管是否已经执行过 cin >> a; 之类的语句

输入一整行字符串

C语言

char ch[100];

gets(ch);

C++语言

char ch[100];

cin.getline(ch);

// or
string str; getline(cin,ch);

助记: 两个 getline 都需要 cin,一个放外面,一个放里面

输入空格分隔的字符串

C语言

char str[100];

scanf("%s", str);

注意点:scanf 从输入流中获取字符串的时候范围是 [结束符,结束符),读取后将首部的结束符去掉后传给字符串变量。另,结束符可以是多个连续空格

测试案例如下:

#include<stdio.h>

int main(){

	char str[20]; // 输入 "\n\nnotReadEnterOrSpace\n"
char ch;
scanf("%s",str); //得到 " notReadEnterOrSpace" ,scanf 读取字符串忽略前后回车或空格
ch = getchar();
printf("%s\n",str); // 输入流中连续字符串之后的空格或回车不再读取
if (ch == '\n') {
printf("\\n");
}else if (ch == ' '){
printf("_");
}
printf("\n");
}

注意点: gets 从输入流中获取字符串的时候范围是 (结束符,结束符],读取后将尾部的结束符去掉后传给字符串变量。附带说明一点,getchar 读取到文件结尾时其值为 \xff 即 ascII 码中 255 的 16 进制表示,其打印值为 8 进制的 \377

测试案例如下:

#include<stdio.h>

int main(){

	freopen("/Users/apple/Desktop/input.txt", "r", stdin);
char str[20];
char ch;
gets(str);
ch = getchar();
printf("%s\n",str); if (ch == '\n') {
printf("\\n");
}else
printf("%c",ch); printf("\n");
}
/*/
测试一:读取空行 input:
### notReachHere
### output:
### h
###
测试二:读取单行 input:
###
getThisLine
###
ouput:
###
getThisLine
\377
### 测试三:读取单行,文件未到结尾 input:
###
getThisLine
anotherLine
###
ouput:
###
getThisLine
a
###
*/

C++语言

见下一节:输入用某个符号分隔的多个字符串。

输入用某个符号分隔的多个字符串

C语言

char str1[100],str2[100];

scanf("%s%s",str1,str2);//字符串之间用一个或多个空格分隔
gets(str1);gets(str2);//字符串之间用一个换行符分隔

C++语言

char str1[100],str2[100];

cin.getline(str1,100,'*');cin.getline(str2,100,'*');//字符串之间用一个'*'分隔

限制输入长度或以某个字符作为结尾

C++语言

char str1[100];
cin.getline(str1,100,'*');//限制长度为100,如果想提前结束就用'*'作为结束符号 string str; getline(cin,str,'*');// 以'*'为结束符号

ACM 基本输入的更多相关文章

  1. Scanner, BufferedReader, InputStreamReader 与ACM模式输入

    Scanner, BufferedReader, InputStreamReader 与ACM模式输入html { -webkit-print-color-adjust: exact } * { bo ...

  2. ACM字符串输入问题

    坑死了..竟然被这个问题困扰了大半个学期,今天搜来翻去终于弄明白了一些,以后固定用这几种用法好了不然总出错QAQ实际测试例子就没放了,死记这里就够用了T-T 概念: gets()函数:用来从标准输入设 ...

  3. ACM 2003~2005

    ACM 2003 求实数的绝对值 import java.util.Scanner; public class Lengxc { public static void main(String[] ar ...

  4. ACM 2000~2002

    ACM  2000  输入三个字符后,按各个字符的ASCⅡ码从小打到的顺序输出这三个字符. import java.util.Scanner; public class Lengxc {public ...

  5. ACM的输入输出总结

    关于ACM的输入输出(一) 一般来说ACM的现场赛会规定输入输出 或者是文件输入标准输出 也可能是文件输入文件输出 如果没有规定的话那么一般就是标准的输入输出了 那说一下输入输出的重定向 一般用下面两 ...

  6. OJ每日一练试水第1天,聊聊输入输出问题

    目录 多组输入 第一题 多组冒泡排序 (难度2颗星版本) (难度3颗星版本) (难度4颗星版本) scanf返回值 时间:2019.4.26 @( 每日一练01) 先借鉴一下ACM的输入格式 OJ题中 ...

  7. c语言进阶4-有返回值函数

    一.         从函数返回 从函数返回就是返回语句的第一个主要用途.在程序中,有两种方法可以终止函数的执行,并返回到调用函数的位置.第一种方法是在函数体中,从第一句一直执行到最后一句,当所有语句 ...

  8. [ACM训练] ACM中巧用文件的输入输出来改写acm程序的输入输出 + ACM中八大输入输出格式

    ACM中巧用文件的输入输出来改写acm程序的输入输出 经常有见大神们使用文件来代替ACM程序中的IO,尤其是当程序IO比较复杂时,可以使自己能够更专注于代码的测试,而不是怎样敲输入. C/C++代码中 ...

  9. [转]C语言文件输入/输出ACM改进版(freopen函数)

    C语言文件输入/输出ACM改进版(freopen函数) 2009年5月27日 10:379,457 浏览数发表评论阅读评论   文章作者:姜南(Slyar) 文章来源:Slyar Home (www. ...

随机推荐

  1. SecureCRT远程连接The remote system refused the connection问题

    今天用SecureCRT远程连接Linux(Centos 7)时,连不上,报错The remote system refused the connection.于是就百度,首先查看sshd服务有没有启 ...

  2. Prometheus学习系列(五)之Prometheus 规则(rule)、模板配置说明

    前言 本文来自Prometheus官网手册1.2.3.4和 Prometheus简介1.2.3.4 记录规则 一.配置规则 Prometheus支持两种类型的规则,这些规则可以定期配置,然后定期评估: ...

  3. WPF 3D 球面导览

    基于WPF的3D Sphere实现模式,升级实现了该3D导览Demo.先pose一张demo效果图 所有顶点的坐标来源于足球的顶点.足球整个球面完全由正五边形和正六边形拼成,每条拼缝的长度一致,故知道 ...

  4. Android TitleBar推荐

    版权声明:本文为xing_star原创文章,转载请注明出处! 本文同步自http://javaexception.com/archives/206 Android TitleBar推荐 这段时间在帮别 ...

  5. 轻松定位CPU飙高问题

    以下四步轻松定位CPU飙高问题: ①top pid 查看cpu耗CPU进程 ②top -Hp pid 查看该进程所有线程的运行情况,找到占用 CPU 过高的线程 pid ③ printf %x pid ...

  6. varnish实现缓存加速

    varnish实现缓存加速 一.采用varnish为nginx实现缓存加速1.实验环境:(1)一台varnish缓存服务器,一台nginx服务器(2)关闭防火墙和selinux2.配置varnish( ...

  7. Linux系统学习 二十、SAMBA服务—介绍、安装、端口

    1.简介 网络数据文件共享服务器 可以和Windows中的网上邻居通用 数据共享的方法: Windows中最常用的是“网上邻居”.网上邻居使用的文件系统是CIFS(通用互联网文件系统)协议进行数据共享 ...

  8. Appium从入门到实战合集

    从今天起,持续更新 想要及时获得更新,请关注微信公众号 教程下载 1.连载01-Appium自我介绍和环境搭建 2.连载02-Appium启动参数配置 3.连载03-Appium入门案例 4.连载04 ...

  9. 冒泡排序(C语言)

    # include<stdio.h> int main(void) { int arr[10]={5,4,7,9,2,3,1,6,10,8}; //定义一个位排序的数组 int i; // ...

  10. 通过pywin32库来上传文件

    先来安装:pip install pywin32 辅助定位工具winspy下载地址:https://sourceforge.net/projects/winspyex/ 打开后是这玩意: 按住靶心拖拽 ...