400 - Unix ls

2024-08-24 04:58
文章标签 ls unix 400

本文主要是介绍400 - Unix ls,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目:400 - Unix ls


题目大意:将给的字符串排序,然后要求最多的列,最少的行的格式输出, 并且要对齐, 对齐的长度是字符串最长的那个长度+2。


解题思路:用sort(),然后控制一下输出的顺序,一行一行的输出。注意:当心程序里有除以0的程序;


#include<stdio.h>
#include<stdlib.h>
#include<string.h>const int N = 105;
const int M = 65;
int t, len, cloumn, row;
char s[N][M];
int l[N];void findmax() {len = l[0] = strlen(s[0]);for(int i = 1; i < t; i++) {l[i] = strlen(s[i]);if(len < l[i]) len = l[i];}
}int cmp(const void * _a, const void * _b) {char * a = (char*) _a;char * b = (char*) _b;return strcmp(a,b);}int main() {int i, j, k;while(scanf("%d", &t) != EOF) {for(i = 0; i < t; i++)scanf("%s", s[i]);qsort(s, t, sizeof(s[0]), cmp);for(i = 0; i < 60; i++)printf("-");printf("\n");findmax();cloumn = 60 / (len + 2) == 0 ? 1 : 60 / (len + 2);if(t % cloumn == 0)row = t / cloumn;elserow = t / cloumn + 1;for(j = 0; j < row; j++) {for(i = j; i < t; i += row) {printf("%s",s[i]);for(k = 0; k < len + 2 - l[i]; k++)printf(" ");}printf("\n");}}return 0;
}


这篇关于400 - Unix ls的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1101511

相关文章

列举你能想到的UNIX信号,并说明信号用途

信号是一种软中断,是一种处理异步事件的方法。一般来说,操作系统都支持许多信号。尤其是UNIX,比较重要应用程序一般都会处理信号。 UNIX定义了许多信号,比如SIGINT表示中断字符信号,也就是Ctrl+C的信号,SIGBUS表示硬件故障的信号;SIGCHLD表示子进程状态改变信号;SIGKILL表示终止程序运行的信号,等等。信号量编程是UNIX下非常重要的一种技术。 Unix信号量也可以

code: 400, msg: Required request body is missing 错误解决

引起这个错误的原因是,请求参数按照get方式给。 应该给json字符串才对 补充: 1. @RequestBody String resource 加@RequestBody必须给json字符串,否则会报错400,记如标题错误。 不加这个的进行请求的话,其实post和get就没有什么区别了。 2. List<String> indexCodes=(List<String>)json.

【unix高级编程系列】线程

引言 我们知道unix进程中可以有多个线程,进程中的线程可以访问该进程的所有组成部分。并且CPU的调度单元就是线程。这就面临一个问题:当进程中的临界资源需要在多个线程中共享时,如何解决一致性问题? 本文将从线程的概念、线程的使用方式、unix提供哪些方式解决一致性问题进行介绍,加深对线程的理解。 线程概念 线程的优点: 简化代码结构。比如在业务上为每种事件类型分配单独的处理线程,可以

Linux系统编程实现ls -l | wc -l指令

由于该指令是通过管道的形式实现的,所以我们要使用系统函数pipe。ls -l |wc -l的作用就是统计当前目录有多少文件。如果又父进程实现ls -l,子进程实现wc -l指令,代码如下: #include<unistd.h>#include<stdio.h>#include<string.h>#include<sys/wait.h>int main(){int pip

当当图书福利券,满400减230,别说我没告诉你!

1024程序员节 当当网计算机图书 每满100减50! 满200减100! 满300-150! 机械工业出版社华章公司联合当当网特意为【大数据技术与架构】用户申请了一批可与满减叠加使用的“满200减30”的图书优惠码,优惠码使用后相当于: 400减230 !!!   优惠码:【YRMQMY】(注意区分大小写) 使用渠道:当当app和当当小程序 使用时间:10月22-10月31 本活动满减与礼券

linux的nohup命令的用法。在应用Unix/Linux时,我们一般想让某个程序在后台运行,于是我们将常会用 在程序结尾来让程序自动运行。比如我们要运行mysql在后台: /usr/local

在应用Unix/Linux时,我们一般想让某个程序在后台运行,于是我们将常会用 & 在程序结尾来让程序自动运行。比如我们要运行mysql在后台: /usr/local/mysql/bin/mysqld_safe –user=mysql &。可是有很多程序并不想mysqld一样,这样我们就需要nohup命令,怎样使用nohup命令呢?这里讲解nohup命令的一些用法。 nohup /root/

spring mvc 数据绑定问题 提交表单提示HTTP status 400, The request sent by the client was syntactically incorrect

我们在spring mvc 中controller方法中的参数,spring mvc会自动为我们进行数据绑定。 spring mvc 方法中不一定要全部都有 form表单提交的属性, 也可以有 请求属性中 没有的参数(这时候只会把对应不上的参数设为null),这两种情况都不会报错。 但是有几种情况会报错,可能会提示HTTP status 400,  The request sent by th

Linux中的wc -l 和 ls -l 命令

wc -l 和 ls -l 是两个常见的命令行工具选项,它们的用途不同,用于完成不同的任务。 1. wc -l wc 是 “word count” 的缩写,是一个用于统计文件中行数、字数、字符数等的命令。-l 是它的一个选项,用于统计行数。 用法: wc -l filename filename:要统计的文件名。-l:选项,表示输出文件的行数。 示例: wc -l example.

【Unix编程】进程间通信(IPC)

进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信息。IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。其中 Socket和Streams支持不同主机上的两个进程IPC。 一、管道 管道,通常指无名管道,是 UNIX 系统IPC最古老的形式。 1、特点: 它是半双工

Unix与Linux的关系

Unix 和 Linux 之间有着密切的历史和技术联系,尽管它们是两个独立的操作系统。 Unix 的历史 Unix 的历史可以追溯到1969年,当时 AT&T 的贝尔实验室的工程师肯·汤普逊(Ken Thompson)和丹尼斯·里奇(Dennis Ritchie)开始开发 Unix 操作系统。Unix 设计之初是为了方便进行程序开发工作,它强调的是多用户、多任务的能力,以及良好的文件系统支持。