Ir ao conteúdo

Posts recomendados

Postado

Boa tarde, sou novo nesse tipo de programação, meu professor pediu que fizéssemos um programa onde teríamos que achar os n primos que ele deseja e coloca-los de forma decrescente, consegui achar apenas os primos, se alguém conseguir me ajudar a colocá-los de forma decrescente eu agradeço.

 

#include<stdio.h>    
int main()
{
    int a=0,b,c,n,d;           
    printf("Quantos numeros primos pretende exibir? ");
    scanf("%i",&n);
    d=n*(-1);
    printf("Os primeiros %i numeros primos sao:\n",n);
    do         
    {  a++;         
    c=0;
    for(b=1;b<a;b++)
    if(a%b==0)
    c++;
    if(c==1)
    {
    printf("%i\n",a);      
    d++;
    }
    }
    while(d); 
    printf("\n\n");
    

  • Curtir 1
Postado

@Diego Aquinof    não sei se você já sabe sobre vetores, mas assim te facilitaria com esse código, então você coloca os números primos nas posições do vetor e depois faz uma ordenação usando o método bubllesort e em seguida pode imprimir os números que estarão organizados no vetor ,  então seu código seria assim :

#include<stdio.h>
int vetor[100];
int main(){
    int a=0,b,c,n,d,x=0;
    printf("Quantos numeros primos pretende exibir? no maximo 100 ");
    scanf("%i",&n);
    d=n*(-1);
    printf("Os primeiros %i numeros primos sao:\n",n);
    do{
        a++;
        c=0;
        for(b=1;b<a;b++)
            if(a%b==0)
                c++;
        if(c==1){
            vetor[x]=a;
            printf("%i\n",a);
            d++;
            x++;
        }
    }while(d);
    for(a=0;a<100;a++){            /* para ordenar decrescente */
        for(b=a+1;b<100;b++){
            if( vetor[b]>vetor[a]){/*compara o num da frente com o de tras*/
                c = vetor[a];      /*guarda o numero dessa posição em c */
                vetor[a]=vetor[b]; /* coloca o maior em primeiro */
                vetor[b]=c;        /* coloca o menor depois */
            }
        }
    }
    printf("Aqui estão Os %d Numeros Primos Em Ordem Decrescente\n",n);
    for(a=0;a<100;a++){
        if(vetor[a]!=0)printf("%d - %d\n",a+1,vetor[a]);
    }
    printf("\n\n");
}

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!