ACM 基本输入
单次输入
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 基本输入的更多相关文章
- Scanner, BufferedReader, InputStreamReader 与ACM模式输入
Scanner, BufferedReader, InputStreamReader 与ACM模式输入html { -webkit-print-color-adjust: exact } * { bo ...
- ACM字符串输入问题
坑死了..竟然被这个问题困扰了大半个学期,今天搜来翻去终于弄明白了一些,以后固定用这几种用法好了不然总出错QAQ实际测试例子就没放了,死记这里就够用了T-T 概念: gets()函数:用来从标准输入设 ...
- ACM 2003~2005
ACM 2003 求实数的绝对值 import java.util.Scanner; public class Lengxc { public static void main(String[] ar ...
- ACM 2000~2002
ACM 2000 输入三个字符后,按各个字符的ASCⅡ码从小打到的顺序输出这三个字符. import java.util.Scanner; public class Lengxc {public ...
- ACM的输入输出总结
关于ACM的输入输出(一) 一般来说ACM的现场赛会规定输入输出 或者是文件输入标准输出 也可能是文件输入文件输出 如果没有规定的话那么一般就是标准的输入输出了 那说一下输入输出的重定向 一般用下面两 ...
- OJ每日一练试水第1天,聊聊输入输出问题
目录 多组输入 第一题 多组冒泡排序 (难度2颗星版本) (难度3颗星版本) (难度4颗星版本) scanf返回值 时间:2019.4.26 @( 每日一练01) 先借鉴一下ACM的输入格式 OJ题中 ...
- c语言进阶4-有返回值函数
一. 从函数返回 从函数返回就是返回语句的第一个主要用途.在程序中,有两种方法可以终止函数的执行,并返回到调用函数的位置.第一种方法是在函数体中,从第一句一直执行到最后一句,当所有语句 ...
- [ACM训练] ACM中巧用文件的输入输出来改写acm程序的输入输出 + ACM中八大输入输出格式
ACM中巧用文件的输入输出来改写acm程序的输入输出 经常有见大神们使用文件来代替ACM程序中的IO,尤其是当程序IO比较复杂时,可以使自己能够更专注于代码的测试,而不是怎样敲输入. C/C++代码中 ...
- [转]C语言文件输入/输出ACM改进版(freopen函数)
C语言文件输入/输出ACM改进版(freopen函数) 2009年5月27日 10:379,457 浏览数发表评论阅读评论 文章作者:姜南(Slyar) 文章来源:Slyar Home (www. ...
随机推荐
- OWASP ModSecurity Core Rule Set (CRS)的基本使用
Preface 前述文章开源WAF工具ModSecurity,介绍了ModSecurity作为Nginx的动态加载模块的基本安装和使用. 本篇简单介绍ModSecurity CRS规则集的使用. # ...
- IT兄弟连 HTML5教程 CSS3属性特效 文字阴影
文字阴影是可以叠加的.最基本可以给出四个值,用法如下: text-shadow:x y blur color 文字阴影的参数说明如表1所示. 表1 CSS3文字阴影参数说明 横向偏移量和纵向偏移量可 ...
- C语言笔记 05_判断&循环&函数
判断 C 语言把任何非零和非空的值假定为 true,把零或 null 假定为 false. 下面是大多数编程语言中典型的判断结构的一般形式: 判断语句 C 语言提供了以下类型的判断语句.点击链接查看每 ...
- Jmeter性能测试分布式技术
一.什么是分布式测试 分布式测试是指通过局域网和Internet,把分布于不同地点.独立完成特定功能的测试计算机连接起来,以达到测试资源共享.分散操作.集中管理.协同工作.负载均衡.测试过程监控等目的 ...
- Jenkins使用SSH构建Go项目并执行
目录 下载插件 配置要部署的服务器 构建项目 Jenkinx可以帮助我们通过SSH插件,将项目直接部署到指定的服务器. 下载插件 (1)点击左侧的"系统管理"菜单 ,然后点击 (2 ...
- C# -- 模拟扑克牌发牌
C# -- 模拟扑克牌发牌 1. User 类: 玩家 public class User { private List<PaperCard> listCard = new List&l ...
- 了解Bootstrap和开发响应式网站
什么是Bootstrap? Bootstrap是Twitter推出的一个开源的用于web前端开发的工具包.它由Twitter的设计师Mark Otto和Jacob Thornton合作开发,是一个CS ...
- 如何在一台电脑上同时使用Gitee(码云)和Github?
前言 最近重装了一下系统,用上了 win10,之前电脑上的开发环境和配置都被清除了,由于工作原因我需要经常使用 Gitee(码云)和 Github ,之前配置好了一个,但是不知道怎么同时配置两个,所以 ...
- CAS服务端数据源设置
2.CAS服务端数据源设置 2.1需求分析 我们现在让用户名密码从我们的品优购的user表里做验证 2.2配置数据源 (1)修改cas服务端中web-inf下deployerConfigContext ...
- win10,7 80端口被占用的检测和解决方法
这是一篇关于检测windows7和windows10系统“80端口”被哪个程序占用和怎么解决的小教程.此处用windows10作为范例 1.得到占用该端口的PID ①打开运行(快捷键win+R)(也可 ...