O problema é bem direto, ordenar e apresentar os livros cadastrados por ordem de identificação. Você pode usar funções de ordenação prontas da sua linguagem de escolha.
#include<string.h>#include<stdlib.h>#include<stdio.h>intcomp(constvoid* a,constvoid* b){returnstrcmp((char*)a, (char*)b);}intmain(){int N;char livros[1001][5];while(scanf("%d\n",&N)!= EOF){memset(livros,'\0',sizeof(livros));for(int i =0; i < N; ++i){scanf("%s",&livros[i]); }qsort(livros, N,sizeof(char) *5, comp);for(int i =0; i < N; ++i){printf("%s\n", livros[i]); } }return0;}
#include<algorithm>#include<iostream>usingnamespace std;intmain(){int N; string livros[1001];while(cin >> N){for(int i =0; i < N; ++i){ cin >>livros[i]; }sort(livros, livros + N);for(int i =0; i < N; ++i){ cout <<livros[i] << endl; } }return0;}
var input =require('fs').readFileSync('/dev/stdin','utf8');var lines =input.split('\n');while(lines.length){letN=parseInt(lines.shift());let livros = [];for(let i =0; i <N; ++i){livros.push(lines.shift().trim()); }livros.sort();for(let i =0; i <N; ++i){console.log(livros[i]); }}
whileTrue:try: N =int(input()) livros = []for _ inrange(N): livros.append(input()) livros.sort()for i inrange(N):print(livros[i])exceptEOFError:break