1 – 36 de 36
Blogger José disse...

Me perdoe a intromissão, mas nos códigos dos exercicios de impares e pares de 1 a 100, não deveria existir um 'else' depois do 'if'?
Se for pensar na lógica do código da solução, se (count%2 == 1) ele soma +1 em count, senão, ele não soma nada e o programa não roda.
Na verdade deveria ter o 'else' e depois o incremento a variavel. A unica diferença é que no 'else' não haverá o 'printf'. Deem uma olhada no meu código:

#include

int main ()
{
int n=1;
while (n<=100)
{
if (n%2==0)
{
printf("%d, ",n);
n++;
}
else
{
n++;
}
}
}

Mas uma vez me desculpe pela intromissão, mas acredito que esse tipo de discussão só colabora mais ainda para a didática do curso.
Obrigado

21 de junho de 2014 às 10:03

Anônimo Apostila C Progressivo disse...

Olá José,

Note que no nosso código, depois do IF não há o par de chaves { }

Quando não usamos o par de chaves, somente a primeira instrução imediatamente após o IF (ou ELSE, ou WHILE, ou FOR ou DO WHILE) é que é executada!

Ou seja, se o IF for verdadeiro, aí é executado o printf.

Mas independente do IF ser verdadeiro ou não, o 'count' é incrementado, pois está fora do IF e dentro do WHILE.

Qualquer dúvida, sugestão ou errata, não exitem em comentar.
Certamente ajuda a aumentar o conteúdo do site, e sua dúvida pode ser a de outros.

21 de junho de 2014 às 10:19

Anônimo Anônimo disse...

Bom.Tentei criar um programa que mostre o maior numero então queria ver se estar certo, apesar do resultado tenha sido positivo.obrigado!

#include

main()
{
int num1,num2;

printf("Valor 1:");
scanf("%d", &num1);

printf("Valor 2:");
scanf("%d", &num2);

while(num1 > num2)
{
if(num1 > num2)
{
printf("%d", num1);
break;
}else
{
printf("%d",num2);
break;
}
}
}

14 de agosto de 2014 às 10:54

Blogger Vinicius disse...

Gostaria de saber se a 6ª questão poderia ser feita da seguinte forma:

#include

main(){

int maior, segundo_maior, count=3, num;

printf("Digite o valor 1\n");
scanf("%d", &maior);

printf("Digite o valor 2\n");
scanf("%d", &segundo_maior);

fflush(stdin);
while( count <= 10){
count++;

printf("Digite o valor %d\n", count);
scanf("%d", &num);
fflush(stdin);

if(num > maior){

segundo_maior = maior;
maior = num;
}
else
if((num > segundo_maior) && (num < maior))
segundo_maior = num;

}

printf("Os maiores valores, respectivamente, sao: %d e %d", maior, segundo_maior);

}

1 de outubro de 2014 às 08:57

Blogger Unknown disse...

Exercício 0:

#include
#include

main ()
{
int num, num2;

printf (" Quantos patinhos foram passear?\n\n --> ");
scanf ("%d", &num);
num2 = num;

while (num > 0)
{
printf ("\n %d patinhos foram passear\n Alem das montanhas\n Para brincar \n A mamae gritou: Qua, qua, qua, qua.. ", num);
num--;
printf ("\n Mas so %d patinhos voltaram de la.\n", num);
}

printf ("\n A mamae patinha foi procurar\n Alem das montanhas\n Na beira do mar\n A mamae gritou: Qua, qua, qua, qua..\n E os %d patinhos voltaram de la.", num2);
}

24 de abril de 2015 às 04:49

Anônimo MAC disse...

//6. Achando os dois maiores números
//Escreva um programa em C que solicita 10 números ao usuário, através de um laço while, e ao final
//mostre os dois maiores números digitados pelo usuário.
//MAC
#include
int main()
{
int num,maior=0,maior2=0,count=1;
while (count<=10)
{
printf("digite o %d numero",count);
scanf("%d",&num);
if (num>maior)
{
maior2=maior;
maior=num;

}
else
{
if ((nummaior2))
{
maior2=num;
}

}
count++;
}
printf("o maior numero foi %d e o %d o segundo maior",maior,maior2);
}


25 de abril de 2015 às 06:59

Blogger Unknown disse...

BOA TARDE GALERA... TENHO UM PROBLEMA AQUI E PRECISO DE AJUDA...
ESTE CODIGO DESTINA-SE AO EXERCICIO 4 DE ELABORAR A MEDIA DA TURMA...
O PROBLEMA É QUE NÃO CONSIGO PUXAR A MEDIA DA TURMA... ME AJUDAM POR FAVOR...
#include
#include

void linha()
{
int i;
for (i=1; i<=80; i++)
putchar('-');

}

main()
{
int n_aluno; float nota, media = 0.0 ; int ordem = 1; /*IMPRIMIR PROXIMA LINHA*/ printf("\n\t\t\tCALCULADORA DE MEDIA DA TURMA\n"); linha();


printf("\nQUANTOS ALUNOS EXISTEM: "); scanf("%d", &n_aluno); putchar('\n'); linha();

while (ordem <= n_aluno)
{
printf("\nINTRODUZ A NOTA %d : ", ordem++); scanf("%f", &nota);
}

media= media + nota;

ordem++;

linha(); putchar('\n'); /**/ printf("\nA MEDIA DA TURMA CORRESPONDE A: %.2f VALORES \n\n", media/n_aluno); /**/ linha();

putchar('\n');
system("pause");
}

19 de julho de 2015 às 08:43

Anônimo Anônimo disse...

No exercicio 1 eu fiz o que se pediu, mas depois eu fiquei brincando com essa ideia e eu fiz um programa em que voce digita quaisquer 2 numeros e ele mostra todos os numeros impares entre esses dois numeros, ta ai pra voces compilarem, nao se esqueçam do include:

int main(void)
{
int num1;
int num2;
int contador;

printf("Programa que mostra todos os numeros impares\n");
printf("entre dois numeros inseridos pelo usuario.\n\n");

printf("Insira o primeiro numero: ");
scanf("%d",&num1);

printf("Insira o segundo numero: ");
scanf("%d",&num2);
printf("\n");

contador = num1;

while(contador <= num2)
{
if(contador%2 == 1)
{
printf("%d, ",contador);
contador++;
}
else
{
contador++;
}

}
}

25 de julho de 2015 às 09:55

Blogger Unknown disse...

Fiz o meu dos patinhos assim:

#include

int main(){
int n, x;
printf("Informe a quantidade de patinhos inicial: ");
scanf("%d", &n);
fflush(stdin);
x = n;
while(x != 0){
printf("\n\n%d patinhos foram passear\nAlem das montanhas\nPara brincar\nA mamae gritou: Qua, qua, qua, qua\nMas so %d patinhos voltaram de la.\n", x--, x-1);
}
printf("\n\nA mamae patinha foi procurar\nAlem das montanhas\nNa beira do mar\nA mamae gritou: Qua, qua, qua, qua\nE os %d patinhos voltaram de la.", n);
getchar();
}

3 de novembro de 2015 às 05:31

Blogger Blog da Lan House disse...

# include
# include

int main (void) {
int i = 0, j = 0, num;

printf("Digite um numero para ver o seu respectivo quadrado: ");
scanf("%i", &num);

while(i < num){
while(j < num){
if(i == 0 || j == 0 || i == num-1 || j == num-1){
printf("%c", '*');
} else {
printf("%c", ' ');
}
++j;
}
printf("\n");
++i;
j = 0;
}

system("pause");
return 0;
}

8 de novembro de 2015 às 05:13

Anônimo Anônimo disse...

olá , queria saber o porque de quando eu fiz o da tabela de letras e tambem em algumas letras quando executo ao inves de aparecer a propria aparece um caractere estranho , como resolver?

10 de janeiro de 2017 às 13:01

Anônimo Anônimo disse...

#include
#include
/*7. Quadrado de asteriscos
Escreva um programa que lê o tamanho do lado de um quadrado e imprime um quadrado
daquele tamanho com asteriscos. Seu programa deve funcionar para quadrados com lados
de todos os tamanhos entre 1 e 20.*/
int main()
{
setlocale(LC_ALL,"portuguese");
int iNum,iCont1=0,iCont2=0,iNLinhas=0;
printf("Escolha um número de 1 a 20: ");
scanf("%d",&iNum);
if(iNum<=0||iNum>=21)
{
printf("Parece que você não gosta de seguir regras em, mas azar o seu!");
}
else
{
while(iCont1<iNum)
{
printf("%d ",iNLinhas+1);
while(iCont2<iNum)
{
printf("*");
iCont2++;
}
printf("\n");
iCont2=0;
iCont1++;
iNLinhas++;
}
}
return 0;
}

5 de abril de 2017 às 13:09

Anônimo Anônimo disse...

#include
#include
/*9. Tabuada em C
Escreva um programa que pergunta um número ao usuário, e mostra sua tabuada completa (de 1 até 10).*/
int main()
{
setlocale(LC_ALL,"portuguese");
float fNum,fCont=1,fA=1,fS=1,fD=1,fM=1;
printf("Escolha um número: ");
scanf("%f",&fNum);
while(fCont<=10)
{
printf("Adição: %.f + %.f = %.f\n",fNum,fA,fNum+fA);
printf("================================================\n");
printf("Subtração: %.f - %.f = %.f\n",fNum,fS,fNum-fS);
printf("================================================\n");
printf("Multiplicação: %.f * %.f = %.f\n",fNum,fM,fNum*fM);
printf("================================================\n");
printf("Divisão: %.f / %.f = %.2f\n",fNum,fD,fNum/fD);
fA++;
fS++;
fD++;
fM++;
fCont++;
}
return 0;
}

5 de abril de 2017 às 16:13

Comentário excluído

Este comentário foi removido pelo autor.

15 de julho de 2017 às 13:39

Blogger Unknown disse...

Meu código para a Questão 6:

#define TAM 10
int main () {
int i = 0, numero[TAM], maiorNumero = 0, maiorNumero2 = 0;

setlocale(LC_ALL, "Portuguese");

printf("\t MAIOR NÚMERO\n\n");
while (i != 10) {
printf("\n- Digite o %dº número: ", i + 1);
scanf("%d", &numero[i]);

if (numero[i] > maiorNumero) {
maiorNumero = numero[i];
}
i++;
}

i = 0;
while (i != 10) {
if (numero[i] > maiorNumero2 && numero[i] < maiorNumero) {
maiorNumero2 = numero[i];
}
i++;
}

printf("\nO maior número foi: %d", maiorNumero);
printf("\n\nO segundo maior número foi: %d", maiorNumero2);

return 0;
}

15 de julho de 2017 às 13:41

Blogger Unknown disse...

Meu código para a Questão 8:

int main () {
int i = 0, j = 0, numero = 0;

setlocale(LC_ALL, "Portuguese");

do {
printf("- Digite o tamanho do lado do quadrado: ");
scanf("%d", &numero);

if (numero < 1 || numero > 20) {
printf("\nEscreva um numero entre 1 a 20.\nTente Novamente.\n\n");
}
} while (numero < 1 || numero > 20);

printf("\n\n");

while (i < numero) {
printf("* ");
i++;
}

i = 2;
while (i < numero) {
printf("\n*");

j = 1;
while (j < numero) {
if (j == numero - 1) {
printf(" ");
} else {
printf(" ");
}
j++;
}

printf("*");
i++;
}

printf("\n");

i = 0;
while (i < numero) {
printf("* ");
i++;
}
return 0;
}

15 de julho de 2017 às 14:32

Blogger Unknown disse...

Meu código para a Questão 0:

int main () {
int numero = 0;

printf("- Digite a quantidade de patos: ");
scanf("%d", &numero);

int i = numero;

setlocale(LC_ALL, "Portuguese");

while (i != 0) {
printf("\n\n=====================================\n\n");
if (i == 1) {
printf("1 patinho foi passear\n");
} else {
printf("%d patinhos foram passear\n", i);
}
printf("Além das montanhas\n");
printf("Para brincar\n");
printf("A mamãe gritou: Quá, quá, quá, quá\n");
if (i - 1 == 0) {
printf("Nenhum patinho voltou de lá\n");
} else if (i - 1 == 1){
printf("Mas só 1 patinho voltou de lá\n");
} else {
printf("Mas só %d patinhos voltaram de lá.\n", i - 1);
}
i--;
}

return 0;
}

17 de julho de 2017 às 12:18

Anônimo Anônimo disse...

Uma sugestão de solução para a questão 6:

Utilizar um "laço while" dentro de outro "laço while"
----------
#include
#include

int main(void)
{
int n,
i = 1,
x = 0,
y = 0;

printf("Digite 10 numeros\n");

while (i <= 10)
{
printf("Digite o numero %d de 10: ", i);
scanf("%d", &n);
fflush(stdin);

while (x < n)
{
y = x;
x = n;
}
i++;
}
printf("========================================\n");
printf("O maior numero digitado e: %d\n", x);
printf("O segundo maior numero digitado foi: %d\n", y);
}

5 de setembro de 2017 às 18:19

Anônimo Let's Learn disse...

Questão 0 - Considerando o plural e singular

#include

int main (void)
{
int np, ni;

printf("\t Entre com um inteiro positivo \n");
scanf("%d", &np);
ni = np;
if(np < 0)
{
printf("\t O inteiro deve ser positivo \n");
}
else
{
while (np > 0)
{
if((np == 2) || (np == 1))
{
if (np == 2)
{
printf("\n %d patinhos foram passear\n Alem das montanhas\n Para brincar\n A mamae gritou: Qua, qua, qua, qua\n Mas so %d patinho voltou de la.\n\n", np, np - 1);
np--;
}
else
{
printf("\n %d patinho foi passear\n Alem das montanhas\n Para brincar\n A mamae gritou: Qua, qua, qua, qua\n Mas %d patinho voltou de la.\n\n", np, np - 1);
np--;
}
}
else
{
printf("\n %d patinhos foram passear\n Alem das montanhas\n Para brincar\n A mamae gritou: Qua, qua, qua, qua\n Mas so %d patinhos voltaram de la.\n\n", np, np - 1);
np--;
}
}
printf("\n A mamae patinha foi procurar\n Alem das montanhas\n Na beira do mar\n A mamae gritou: Qua, qua, qua, qua\n E os %d patinhos voltaram de la\n\n.", ni);
}
return 0;
}

12 de outubro de 2017 às 12:43

Anônimo Let's Learn disse...

Questao 1

#include

int main (void)
{
int n = 0;
printf("\t Os numeros pares ate 100 sao: \n");
while (n != 102)
{
printf("\t %d", n);
n+=2;
}
return 0;
}

12 de outubro de 2017 às 12:54

Anônimo Let's Learn disse...

Questão 2 - Troquei a 1 com a 2. Esta é para números impares

#include

int main (void)
{
int n = 1;
printf("\t Os numeros pares ate 100 sao: \n");
while (n != 101)
{
printf("\t %d", n);
n+=2;
}
return 0;
}

12 de outubro de 2017 às 12:57

Anônimo Let's Learn disse...

Questao 3

#include

int main (void)
{
int np = 0, ni = 1, nf = 1;

do
{
printf("\t Entre com um numero inteiro positivo");
scanf("%d", &nf);
}
while( nf < 0);

printf("\t Os numeros pares ate %d sao: \n", nf);
while (np != nf)
{
printf("\t %d", np);
np+=2;
}

printf("\n\t Os numeros impares ate %d sao: \n", nf);
while (ni != nf+1)
{
printf("\t %d", ni);
ni+=2;
}

return 0;
}

12 de outubro de 2017 às 13:16

Anônimo Let's Learn disse...

Questao 4

#include

int main (void)
{
int num_alunos;
float counter = 1, soma = 0, nota = 0;

printf("\t Entre com a quantidade de alunos da sala \n");
scanf("%d", &num_alunos);

while ( counter - 1 != num_alunos )
{
printf("\t Entre com as nota do aluno %4.0f \t", counter);
scanf("%f", &nota);
soma = soma + nota;
counter++;

}
printf("\t Media das notas = %.2f"\n\n, soma / num_alunos);

return 0;
}

12 de outubro de 2017 às 14:24

Anônimo Let's Learn disse...

Questão 5

#include

int main (void)
{
int counter =1, number, maior;

while ( counter <= 10)
{
printf("\t Entre com 10 numeros inteiros ");
scanf("%d", & number);
if (counter == 1)
{
maior = number;
}
if (number > maior)
{
maior = number;
}
counter++;
}

printf("\t O maior numero e: %d", maior);
return 0;
}

13 de outubro de 2017 às 08:44

Anônimo Let's Learn disse...

Questão 7. Quadrado de asteriscos

#include

int main(void)
{
int lado, counter_i = 1, counter_j = 1;
printf("\tEntre com o tamanho do quadrado . Entre 1 e 20\n\n");
scanf("%d", &lado);
if ((lado < 1) || (lado > 20))
printf("\t O tamanho do quadrado deve ser entre 1 e 20\n\n");
else
{
while (counter_i <= lado)
{
while (counter_j <= lado)
{
printf("*");
counter_j++;
}
counter_j =1;
printf("\n");
counter_i++;
}
}
printf("\n\n");
return 0;
}

13 de outubro de 2017 às 08:46

Anônimo Let's Learn disse...

Questão 8. Quadrado de asteriscos e espaços em branco

#include

int main(void)
{
int lado, counter_i = 1, counter_j = 1, counter_k = 1;
printf("\tEntre com o tamanho do quadrado . Entre 1 e 20\n\n");
scanf("%d", &lado);
if ((lado < 1) || (lado > 20))
printf("\t O tamanho do quadrado deve ser entre 1 e 20\n\n");
else
{
while (counter_i <= lado)
{
if ((counter_i == 1) || (counter_i == lado))
{
while (counter_j <= lado)
{
printf("*");
counter_j++;
}
counter_j = 1;
printf("\n");
}
else
{
printf("*");
while (counter_k <= lado - 2)
{
printf(" ");
counter_k++;
}
printf("*");
counter_k = 1;
printf("\n");
}
counter_i++;
}
}
printf("\n\n");
return 0;
}

13 de outubro de 2017 às 09:26

Anônimo Let's Learn disse...

9. Tabuada completa (de 1 até 10).

#include

int main (void)
{
int num;
printf("\t Entre com um numero de 1 a 10 para saber qual é sua Tabuada \n");
scanf("%d", &num);

if(num <= 0)
printf("\t O numero deve estar entre 1 e 10 \n");
else
{
printf("\t Tabuada de %d \n\n", num);
printf("\t 0 x %d = %d\n", num, 0 * num);
printf("\t 1 x %d = %d \n", num, 1 * num);
printf("\t 2 x %d = %d \n", num, 2 * num);
printf("\t 3 x %d = %d \n", num, 3 * num);
printf("\t 4 x %d = %d \n", num, 4 * num);
printf("\t 5 x %d = %d \n", num, 5 * num);
printf("\t 6 x %d = %d \n", num, 6 * num);
printf("\t 7 x %d = %d \n", num, 7 * num);
printf("\t 8 x %d = %d \n", num, 8 * num);
printf("\t 9 x %d = %d \n", num, 9 * num);
}
return 0;
}

14 de outubro de 2017 às 04:38

Anônimo Let's Learn disse...

Questao 10. Tabela ASCII em C


#include

int main (void)
{
int counter = 0;
printf("\t\t\t Tabela ASCII \n");
printf("\t\t\t Decimal Caracter \n\n");
while (counter <= 255)
{
printf("\t\t\t %d \t %c \n", counter, counter);
counter++;
}

}

14 de outubro de 2017 às 04:52

Anônimo Let's Learn disse...

Questao 10. Tabela ASCII em C

#include

int main (void)
{
int counter = 0;
printf("\t\t\t Tabela ASCII \n");
printf("\t\t\t Decimal Caracter \n\n");
while (counter <= 255)
{
printf("\t\t\t %d \t %c \n", counter, counter);
counter++;
}

}

14 de outubro de 2017 às 08:46

Blogger zé ninguém disse...

Exercicio 5

#include "math.h"
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include "locale.h"


int main()
{
char *caractere; // usado para declarar um ponteiro que segura o buffer do teclado
setlocale(LC_ALL, "Portuguese"); // Insira essa linha para ter acentos(cuidado ao usar float, ao inves de usar '.' use ',' entre numeros)


int n = 0;
int x = 0; // quantidade de iterações
int soma = 0; // usada para reter valor de n para adquirir soma, media etc

int maior, menor;
maior = -999; //começa com o menor numero possivel (acredite, esta correto)
menor = 999; //começa com o maior numero possivel


printf("\tDigite 10 números \n");

while (x < 10)
{
printf("\t");
scanf("%d", &n);

if (n < menor)
menor = n;
else if (n > maior)
maior = n;
soma = soma + n;
x++;
scanf("%c", &caractere); //limpa o buffer da tecla enter
fflush(stdin); //limpa o buffer do enterde usar qualquer dois dois nesse caso)
}

printf("Número maior vale:% d, menor vale: %d. Média vale %d.", maior, menor, soma / 10);

scanf("%c", &caractere);
return 0;
}

15 de outubro de 2017 às 10:21

Anônimo dany disse...

melhor site para aprender C

21 de outubro de 2017 às 18:33

Blogger Unknown disse...

O exercício dos quadrados/retângulos não preenchidos eu tive bastante dificuldade. Eu sei que o enunciado pedia quadrado, mas, para aumentar a dificuldade, eu fiz com que o usuário pudesse escolher a largura e a altura. Segue código. Gostaria muito de críticas. :)

#include

int main(void)
{
unsigned int alt, base, cont_alt=1, cont_base=1;

printf("EDITOR DE RETANGULO/QUADRADO\n\n");
printf("Largura: ");
scanf("%d", &base);
printf("Altura: ");
scanf(" %d", &alt);
printf("\n");

if (alt>15 || base>50)
printf("Medidas invalidas (Max. 50x15)");
else
{
while(cont_alt<=alt)
{
while(cont_alt==1 || cont_alt==alt)
{
printf("\n");
cont_base=1;
while(cont_base<=base)
{
printf("*");
cont_base++;
}
cont_alt++;
}
while (cont_alt<alt)
{
cont_base=1;
printf("\n*");
cont_base++;
while (cont_base<base)
{
printf(" ");
cont_base++;
}
printf("*");
cont_alt++;
}
}
}
return 0;
}

20 de julho de 2018 às 13:45

Blogger Leia com atenção disse...

Ele tá sumindo com 2 Patos de cada vez

26 de abril de 2019 às 06:35

Blogger Lucas Marquediene disse...

Fiquei umas meia hora pensando e tentando só mostrar números impares na tela, ai do nada eu pensei: é só ao invés de acrescentar mais 1 eu acrescento mais 2 ai a soma sempre resulta em impar zzzzzz, extremamente simples

28 de agosto de 2020 às 19:44

Blogger Lucas Marquediene disse...

int main(void)
{
int num = 1;

while (num<=100) {
{printf("%5d", num);}
num++; num++;
}
}


28 de agosto de 2020 às 19:46

Blogger Lucas Marquediene disse...

No terceiro exercicio eu separei eles de verdade:

int main(void)
{
int cont=1,cont1=1, ne;

printf("Digite o numero:");
scanf("%d", &ne);

while (cont<=ne) {
if ((cont%2)==0){
printf("%5d", cont); }
cont++; }

printf("\n\n");

while (cont1<=ne) {
if ((cont1%2)==1) {
printf("%5d", cont1);}
cont1++;
}

28 de agosto de 2020 às 21:22

É quase impossível criar centenas de páginas voltadas para programação C e não cometer algum erro.

- Se notar algum conceito, letra ou trecho de código errado, deixe sua correção

- Se perceber uma maneira melhor ou mais eficiente de fazer algo, deixe sua ideia

- Se algo não ficar claro ou for confuso, nos avise

Aos poucos vamos aumentando e melhorando a qualidade de nosso material, e para isso contamos com sua ajuda.
Você pode usar algumas tags HTML, como <b>, <i>, <a>

A moderação de comentários foi ativada. Todos os comentários devem ser aprovados pelo autor do blog.

Depois de enviar seu comentário, será necessário fazer login.
Prove que você não é um robô