9.14 算法复习以及自定义输入输出

自定义输入输出练习

CPP

#include 

using namespace std;

int main(){
    
    return 0;
}

输入n组数据,输出每一行的数字之和
思路:
1.以‘\n’为界限,判断输出时机
2.可以考虑利用cin.get() cin.peek()

#include 

using namespace std;

int main(){
    int sum=0;
    int temp;
    while(cin>>temp){
        if(cin.peek()=='\n'){
            sum+=temp;
            cout<

对输入字符串数组进行排序后输出
输入:第一行是n,第二行是字符串数组,以空格分隔
输出:按字典序排序的字符串

#include 
#include 
#include 
#include 

using namespace std;
int main(){
    int n;
    cin>>n;
    vector rec(n);
    for(int i=0;i>rec[i];
    sort(rec.begin(),rec.end());
    for(int i=0;i

字符串排序3 重要!!
输入:多行字符串,每个字符以‘,’为分割符
输出:排序号的字符串

思路:
以‘,’为分隔符,而cin字符串的读取只能读全部的(默认以空格为分隔符),所以在此基础上进行改进
改进策略为:
用str保存整行字符串,temp去记录被‘,’分隔开的元素。值得注意的是,最后一个元素没有‘,’,需要特别处理

#include 
#include 
#include 
#include 

using namespace std;

int main(){
    vector vec;
    string str,temp;
    while(cin>>str){
        temp="";
        int n=str.size();
        for(int i=0;i

输入t组数据,每组2个数,求2数之和
第一行是数组个数

Java

import java.util.*;

public class Main{
    
    public static void main(String[] args){
        Scanner sca=new Scanner(System.in);
        if(sca.hasNextInt()){
            int t=sca.nextInt();
            while(t-->0){
                if(sca.hasNextInt()){
                    int a=sca.nextInt();
                    int b=sca.nextInt();
                    System.out.println(a+b);
                }
            }
        }
    }
}

输入字符串数组,输出排序后的字符串数组
第一行是数组元素个数

import java.util.Arrays;
import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
 
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            int n = sc.nextInt();
            String[] arr = new String[n];
            for (int i = 0; i < n; i++) {
                arr[i] = sc.next();
            }
            Arrays.sort(arr);
            for (int i = 0; i < n; i++) {
                if (i == n - 1) {
                    System.out.print(arr[i]);
                    continue;
                }
                System.out.print(arr[i] + " ");
            }
        }
 
    }
}

字符串排序2
输入是每行一个字符串数组,有不确定的行数
输出排序好的字符串数组

import java.util.Arrays;
import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
 
        Scanner sc = new Scanner(System.in);
        while (sc.hasNextLine()) {
            String line = sc.nextLine();
            String[] arr = line.split(" ");
 
            Arrays.sort(arr);
            for (int i = 0; i < arr.length; i++) {
                if (i == arr.length - 1) {
                    System.out.print(arr[i]);
                    continue;
                }
                System.out.print(arr[i] + " ");
            }
            System.out.println();
        }
 
    }
}

你可能感兴趣的:(9.14 算法复习以及自定义输入输出)