在线笔试中一般的标准输入输出及常见问题
2017-03-22 10:39
232 查看
C:
整体形式
C++:
整体形式:
Java:
整体形式:
Python:
以下补充常见问题:
链接:https://www.nowcoder.com/discuss/8632
来源:牛客网
1.循环处理输入输出;
2.存储一组数据的map,set等容器记得清空;
3.输出格式:最后一行的换行或者最后空格,解决方法:将空格和换行放在第二个输出的前面,用flag标记,flag = 0,如果是第一个则不输出,flag++,每次判断flag是否为0即可;
4.通常来说一般的系统1s能跑的算法量级是不足1e8,这是以C/C++为标准的,其他语言乘个时间倍数,比如题目n = 1e5,那么我就可以很敏感的知道我的算法需要一个 O(n) 或者 O(nlogn)。平方复杂度直接拜拜!
5.因为版本或者运行平台(Linux/Windows)的不了解,尽量用确定能编译通过的方法。
// 输入一组数据并输出,也可用gets()和puts() int a,b; scanf("%d %d”,&a,&b); printf("%d %d\n”,a,b); //输入多组数据并输出 int a[100],b[100],i; while(scanf("%d %d",&a[i],&b[i])!=EOF) { printf("%d %d\n",a[i],b[i]); i++; }
整体形式
#include <stdio.h> int main(){ int m; scanf("%d", &m); printf("%d\n", m); return 0; }
C++:
// 输入一组数据并输出 int a, b; cin>>a>>b; cout<<a<<b<<endl; // 输入多组数据并输出 int a, b; while(cin>>a>>b) cout<<a<<b<<endl;
整体形式:
//在工程中使用这句,笔试可不使用 #include "stdafx.h" #include<iostream> int main(){ int m; cin>>m; cout<<m<<endl; return 0; }
Java:
//基本语句 Scanner in = new Scanner(System.in); String name = in.nextLine();//读一行 String word = in.next();//读一个数据,空格为分隔符 int i = in.nextInt();//读一个int double d =s.nextDouble();//读一个double while(in.hasNext()){}//判断输入是否结束 while(in.hasNextLine()){}//判断输入是否结束 //用split分隔 //在java.lang包中有String.split()方法,返回是一个数组 //* ^ : | . \(6种)为转义字符,前面加用“\\” String[] aa = "aaa|bbb|ccc".split("\\."); //正确的结果 String[] bb = "aaa\bbb\ccc".split("\\\"); //正确的结果 String[] bb = "aaa*bbb*ccc".split("\\*"); //正确的结果 String[] cc = "aaa bbb ccc".split(" "); //用空格分离
//输入一组数据并输出 Scanner sc = new Scanner(System.in); String str = sc.nextLine(); System.out.printf("%s\n",str); sc.close(); // 输入多组数据并输出 Scanner sc = new Scanner(System.in); String str; while(sc.hasNextLine()){ str = sc.nextLine(); System.out.printf("%s\n",str); } sc.close();
整体形式:
import java.util.Scanner; public class Main() { public static void main(String[] args){ Scanner sc = new Scanner(System.in); String str ; while(sc.hasNextLine()){ str = sc.nextLine(); System.out.printf("%s\n",str); } sc.close(); } }
Python:
//输入一组数据并输出 str=raw_input() print str //输入多组数据并输出 import sys for line in sys.stdin: for value in line.split(): print(value)
以下补充常见问题:
链接:https://www.nowcoder.com/discuss/8632
来源:牛客网
1.循环处理输入输出;
2.存储一组数据的map,set等容器记得清空;
3.输出格式:最后一行的换行或者最后空格,解决方法:将空格和换行放在第二个输出的前面,用flag标记,flag = 0,如果是第一个则不输出,flag++,每次判断flag是否为0即可;
4.通常来说一般的系统1s能跑的算法量级是不足1e8,这是以C/C++为标准的,其他语言乘个时间倍数,比如题目n = 1e5,那么我就可以很敏感的知道我的算法需要一个 O(n) 或者 O(nlogn)。平方复杂度直接拜拜!
5.因为版本或者运行平台(Linux/Windows)的不了解,尽量用确定能编译通过的方法。
相关文章推荐
- 标准输入,标准输出,标准错误输出缓冲问题
- 关于流和缓冲区的理解以及一般标准输入问题的解决方法小结 (fflush() setbuf() )
- C++重载输入和输出操作符以及IO标准库中的刷新输入缓冲区残留字符问题
- 关于流和缓冲区的理解以及一般标准输入问题的解决方法小结
- 有关linux标准输出、标准输入、标准错误的重定向问题
- 2016.8 网易校招在线笔试第一题 输入字符串,然后输出不同字符串的数目
- 关于流和缓冲区的理解以及一般标准输入问题的解决方法小结
- C++重载输入和输出操作符以及IO标准库中的刷新输入缓冲区残留字符问题
- 在笔试过程中进行格式的输入输出问题
- 关于流和缓冲区的理解以及一般标准输入问题的解决方法小结.
- 格式化输入输出浮点数据的细微问题(C标准:printf,scanf)
- 互联网笔试各种主流语言在OJ上的的标准输入输出
- Qt标准输入输出问题
- 关于流和缓冲区的理解以及一般标准输入问题的解决方法小结
- C++重载输入和输出操作符以及IO标准库中的刷新输入缓冲区残留字符问题
- 关于流和缓冲区的理解以及一般标准输入问题的解决方法小结.
- 控制台程序的标准输入输出的重定向
- Linux教程-标准输入/输出和重定向1. 标准输入与输出
- ASP.NET程序员笔试最常见问题
- 标准输入与输出(Shell命令)