首页 > 其他分享 >uva400 Unix Is命令 Unix ls

uva400 Unix Is命令 Unix ls

时间:2023-12-10 22:56:09浏览次数:35  
标签:int uva400 60 column Unix ls 个字符 set1

原题链接:Unix Is命令 Unix ls - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

一道格式略微复杂的题目。

首先是注意点:

1、关于列的个数,已知一行共有60个字符,最右边一列有M个字符,其余列有M+2个字符。则列数为(60-M)/(M+2)+1,接着行数也就易得。

2、格式问题,要求左对齐且保持M或M+2个字符(算是回顾一下容易忘记的知识点)——运用 cout<<setw(M)<<left方式。

主要代码:

#include<bits/stdc++.h>
using namespace std;
int main(){
    int n;
    while (cin>>n){
        vector<string> set1; //vector存储文件名 
        int column,row,M=0;  //列,行,最大字符 
        for (int i=0;i<n;i++){  //开始输入 
            string s;
            cin>>s;
            if (s.size()>M) M=s.size();
            set1.push_back(s);
        }
        sort(set1.begin(),set1.end()); //排序 
        column=(60-M)/(M+2)+1;  //求列数 
        if (n%column==0) row=n/column;  //求行数 
        else row=(n-1)/column+1;
        for (int i=0;i<60;i++)  //打印----- 
            printf("-");
        printf("\n");
        for (int i=0;i<row;i++){  //开始输出 
            for (int j=0;j<column;j++){
                int id=j*row+i;
                if (id<n){
                    if (j!=column-1) cout<<setw(M+2)<<left<<set1[id];
                    else cout<<setw(M)<<left<<set1[id];
                }
            }
            printf("\n");
        }
    }
    return 0;
}

Ps:这一题主要是对字符对齐和左右对齐的复习

标签:int,uva400,60,column,Unix,ls,个字符,set1
From: https://www.cnblogs.com/purple123/p/17893416.html

相关文章

  • java 策略模式解决if-else ,函数式接口解决编写多个子类的问题
    /***@author:szc*@date:2023/9/222:45*@version:1.0*@description:从map中获取函数式接口,解决if-else多个子类问题*/@ServicepublicclassMapToInterface{@AutowiredprivateTypeResulttypeResult;privatestaticMap<String,Functio......
  • 20.Explain how the following reasoning fails to address the complexity of the is
    Round1:IdentifyingtheFailureinReasoningSpeaker1(StudentA):Hello,everyone!Let'skickoffourdiscussionbyexaminingthereasoning:"Sanyaiswarmallyearroundandhasbeautifulbeaches,soitisthebestplaceforavacation."......
  • 11.Demonstrate the essentials concerning "Abstract" in research papers,such as f
    11.Demonstratetheessentialsconcerning"Abstract"inresearchpapers,suchasfeatures,types,andcomponents.演示研究论文中关于“摘要”的要点,如特点、类型和组成部分。Round1:IntroductiontotheAbstractSpeaker1(ResearcherA):Ladiesandgentlemen,than......
  • 简单封装PhpSpreadsheet,实现PHP快速导入、导出xlsx
    简单封装PhpSpreadsheet,实现PHP快速导入、导出xlsx<?phpnamespacexfstu\tools;usePhpOffice\PhpSpreadsheet\Spreadsheet;usePhpOffice\PhpSpreadsheet\Writer\Xlsx;usePhpOffice\PhpSpreadsheet\IOFactory;/***@methodexport(array$field,array$data)简单封......
  • VMwareTools 安装及思考
    1安装步骤A将VMwareTools-10.3.2-9925305下载到桌面,下载完桌面产生一个DVD光盘,写着VMwareToolsB双击光盘进入,进入看到一个压缩包VMwareTools-10.3.2-9925305.tar.gz,解压该压缩包并进入到里面的文件夹查看是否有一个vmware-install.pllC终端进入vmware-install.pl所在路径,......
  • JDBC针对SQLServer的sendStringParametersAsUnicode=false的验证
    JDBC针对SQLServer的sendStringParametersAsUnicode=false的验证背景部分客户的SQLServer数据库出现了大量死锁的情况.虽然部分客户并没有反馈死锁影响了产品的正常使用但是在大量业务时还是会出现卡顿等的现象基于此,经过微软case的研究,发现是JDBC4.0之后默认为ture的......
  • RealSence摄像头的简介
    RealSence摄像头简介 背景:IntelRealSense技术最初是一种通过摄像头、红外和激光投影实现深度感知的技术。随着时间的推移,Intel推出了一系列RealSense摄像头,为开发者和应用程序提供了强大的工具,以在计算机视觉和深度感知方面进行创新。 主要应用方向:机器视觉和计算机视......
  • 无涯教程-Linux - Unix - What is Shell?函数
    该Shell为您提供了UNIX系统的接口。它收集您的输入,并根据该输入执行程序。程序完成执行后,将显示该程序的输出。Shell是一个环境,我们可以在其中运行命令,程序和Shell脚本。Shell的样式不同,就像操作系统的样式不同。每种Shell程序都有其自己的一组公认的命令和功能。Shell提......
  • Springboot内置神器:CollectionUtils工具类的实战秘籍
    前言实际业务开发中,集合的判断和操作也是经常用到的,Spring也针对集合的判断和操作封装了一些方法,但是最令我惊讶的是,我在梳理这些内容的过程中发现了一些有趣的现象,我的第一反应是不敢相信,再想一想,没错,我是对的。所以强烈建议大家可以认真看完这篇文章,这一篇绝对有价值,因为有趣的......
  • 无涯教程-Angular7 - Materials模块
    Materials为您的项目提供了许多内置模块。autocomplete,datepicker,slider,menus,grids和toolbar等函数。要使用Materials,我们需要导入包装。Angular2也具有上述所有函数,但可以作为@angular/core模块的一部分使用。从Angular4开始,Materials模块提供了一个单独的模块@angular/mat......