Ir ao conteúdo
  • Cadastre-se

C Sequencia de números positivos em c


Posts recomendados

Olá!
Estou com um problema nesta questão "Escreva um programa que inicie com a leitura de um valor inteiro positivo N. A seguir, deve ser lida uma sequência de valores inteiros positivos, interrompida pela leitura de um valor negativo. Ao final, deve ser exibido o maior valor informado na sequência que seja menor do que N."

Segue o código:

#include <stdio.h>
main(){
    int n;
    printf("Digite numeros positivos (Para encerrar digite um numero negativo):\n");
    scanf("%d", &n);
    while(n > 0){
        printf("Numero digitado %d\n", n);
    }
}

Eu digito um número e fica num loop infinito imprimindo o número digitado. Como eu resolvo isso?

  • Amei 1
Link para o comentário
Compartilhar em outros sites

@Igor Lima Kock   o código do @isrnick   está bom , faltou apenas fazer a leitura dos outros números da sequência  , que poderia ser assim  :

#include <stdio.h>
#include <windows.h>
#define H GetStdHandle(STD_OUTPUT_HANDLE)
void textcolor_2(int l, int f){SetConsoleTextAttribute(H,l+(f<<4));}
main(){
    int N,n=1,Old_n=0,j;
    textcolor_2(14,0);
    printf("Digite Um numero positivo ");
    textcolor_2(11,0);
    scanf("%d",&N);
    while( n > 0 ){
        textcolor_2(12,15);
        printf("  outro numero qualquer ,  Ou  \n");
        textcolor_2(10,12);
        printf("( Um numero negativo para encerrar  ): ");
        textcolor_2(11,0);
        scanf("%d",&n);
        if( n > Old_n && n < N )
            Old_n = n;
    }
    textcolor_2(14,0);
    printf("\n\n");
    printf("O Maior Valor Informado na Sequencia e Menor Que N eh = %d\n\n\n",Old_n);
    textcolor_2(10,12);
    Sleep(1000);
    return 0;
}

 

Link para o comentário
Compartilhar em outros sites

@devair1010 em linguagem c responda:Leia um número N. Em seguida leia outros N números, caso todos sejam positivos imprima “Positivos”, caso todos sejam negativos imprima “Negativos”, caso não seja nenhuma das duas opções acima não imprima nada.

#include <stdio.h>

int main(void) {

int numero;
 
scanf("%d",&numero);
 
if (numero < 0)
{
printf("NEGATIVOS\n");
}
else if (numero > 0)
{
printf("POSITIVOS\n");
}
else if (numero == 0)
{
printf("nada\n");
}
  return 0;
}

Tipo assim?

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Matheus Freitas     no enunciado diz para ler uma sequencia de números ,  o que quer dizer que são vários números , e ali você fez a leitura de apenas hum número , então você pode usar um laço de repetição para ler outros números , e então seu código com algumas modificações poderia ser assim  :

#include <stdio.h>
int main(){
    int numero,N,neg=0,pos=0,cont=0;
    printf("Um numero N ");
    scanf("%d",&N);
    do{
        printf("Outro numero ");
        scanf("%d",&numero);
        cont++;
        if( numero < 0 ){
            neg++;
        }
        else
            if( numero > 0 ){
                pos++;
            }
        N--;
    }while( N );
    if( pos == cont )
        printf("POSITIVOS\n");
    else
        if( neg == cont )
            printf("NEGATIVOS\n");
    return 0;
}

 

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

while(n > 0)
{
        printf("Numero digitado %d\n", n);
}

O que está escrito em seu programa: enquanto n for maior que zero imprima n e aí o seu programa, se n for maior que zero, fica imprimindo sem parar?

Parece justo. Pode não ser o que você pretendia, mas certamente foi o que escreveu.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!