int main(int argc, char** argv) {
int cont = 0;
while (cont++ < 101) {
printf("Nº:[%d]\n", cont);
}
return 0;
}
Essa rotina só funcionará caso os números sejam cadastrados em ordem crescente, podendo assim, fazer a inversão dos números em apenas uma execução do laço "for". Além disso, a troca deve ser feita no sentido descrescente, de maneira mais direta.Caso a inserção seja de maneira aleatória, precisará de um processo de ordenação do tipo bubblesort, heapsort e outros. Logo, temos:
#include <stdio.h> #include <stdlib.h> #define quant 5 struct num { int num_inteiro; }; int main (void) { int i =0; int val[quant]; int aux; int ordenador =1; printf("\t----------------------------------------------------------------\t\n"); printf("\tPrograma que le 100 numeros e os imprime em ordem decrescente:\t\n"); printf("\t----------------------------------------------------------------\t\n"); printf("\n\tEntre com 100 numeros:\n"); for ( i = 0; i < quant; i++ ) { printf("\n\t%d\xc2\xa7 valor:", i+1); scanf("%d", &val[i]); } printf("\nEstes s\xc3\xa3o os valores lidos em ordem decrescente:\n"); while ( ordenador <= quant ) { for ( i = quant-1; i > 0; i-- ) { if ( val[i] > val[i-1] ) { aux = val[i]; val[i] = val[i-1]; val[i-1] = aux ; } } ordenador = ordenador + 1; } for ( i = 0; i < quant; i++ ) printf("\nval[%d]: %d\n", i+1, val[i]); return 0; }
Para escrever sua resposta aqui, entre ou crie uma conta
Algoritmos e Programação
•UFMS
Compartilhar