刷算法题第一关,输入输入

324 阅读1分钟

最近准备找工作,想刷一下算法题,主要有两个平台 牛客网和力扣

力扣一般会把主函数创建好,你只需要处理逻辑(Java是这样)。但是牛客网直接就是一个空白的编辑框,一下就能我整不会了。所以来记录一下刷算法题的一个基本工作。

Java

1. 命令行输入

import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        while(scanner.hasNext()){ // 输入一般是EOF(直接一个输入文件重定向进来)或者\n结尾的
            String input = scanner.nextLine(); // 一次读取一行,这里除了按行,还提供了一些数字的输入
        }
    }
}

2. 命令行输出

System.out.println("这个大家都会就不用说了");

C

1. scanf

#include <stdio.h>

int main(void){
    char chars[1000];
    scanf("%s", chars); // 这样读取,碰到空白字符(空格或换行或\0)都会停止
    scanf("%[A-Za-z0-9 ]", chars); // 用正则去匹配输入的字符串内容
    return 0;
}

2. gets

#include <stdio.h>
#include <string.h>

int main(void){
    char chars[1000];
    gets(chars); // 读取字符串直到遇到换行或者EOF,和上面Java的nextLine很像了,它在string.h中定义
    int len = strlen(chars); // string.h中还提供了一个常用的方法strlen,它从头找到\0为止
    return 0;
}

3. 输出

#include <stdio.h>
#include <string.h>

int main(void){
    char* chars = "Hello World";
    printf("%s\n", chars); // printf可以用于各类数值的格式化输出
    puts(chars); //只能输入字符串,并且后面会自动带一个回车,由string.h引入
    return 0;
}

有些编程环境下,需要从0开始写代码,这些基本的框架代码一定要非常熟练,才能将时间和精力完完全全用在题目本身。