segunda-feira, 1 de fevereiro de 2010

Exercícios em C resolvidos 2:

Vamos dar uma pausa e fazer exercícios?

Ah, antes, vamos aprender a fazer comentários nos nossos programas para facilitar as coisas!
Um comentário, sempre começa com /* e termina com */
Por exemplo:

#include<stdio.h>

int main(void){
int numero;
scanf("%d",&numero);
if(numero>=5) /* se o numero for maior ou igual a 5 */
printf("maior que 5"); /* caso o numero seja maior que 5 */
else
printf("menor que 5"); /*caso o numero seja menor que 5 */

getchar();
getchar();
}

isso são comentários, C quando vê algo dentro de /* */ despreza e pula para o próximo comando!
obs importante: não sei se eu comentei, porém, quando utilizamos apenas um comando no if ou else, por exemplo, se a condição for verdadeira, só ocorrerá um comando, que é o printf e com o else é a mesma coisa, então, podemos desprezar as chaves!
Essa regra também vale para while e for..

exemplo com utilização:

while(numero>=5){
printf("%d",numero);
numero=1;
}

exemplo de não ter necessidade da utilização, ou seja, utilizar ou não, dá na mesma!

while(numero>=5)
printf("%d",numero);

ou seja, se tiver 2 ou mais comandos, é obrigatório o uso das chaves, senão, se houver apenas um comando, vai a seu critério!

exercício 1:

Escreva um programa que receba três valores, armazenando-os nas variáveis x,y e z, e ordene esses valores de modo que, ao final, o menor valor esteja armazenado na variável x, o valor intermediário esteja armazenado na variável y e o maior valor esteja armazenado na variável z.

#include<stdio.h>

int main(void)
{
int x,y,z,troca;

printf("digite o valor de x: ");
scanf("%d",&x);
printf("digite o valor de y: ");
scanf("%d",&y);
printf("digite o valor de z: ");
scanf("%d",&z);

if(x>y){
troca=y;
y=x;
x=troca;
}
if(y>z){
troca=z;
z=y;
y=troca;
}
if(x>y){
troca=y;
y=x;
x=troca;
}

printf("%d,%d,%d",x,y,z);
getchar();
getchar();
}

Veja a importância de uma variável de troca!
Leia e releia muitas vezes esse programa, é fundamental para desenvolver a capacidade de raciocínio lógico, por isso eu não colocarei comentários sobre ele.

exercício 2:

Escreva um programa que receba um número inteiro x e avalie o polinômio: 3x³-5x²+2x-1

#include<stdio.h>

int main(void)
{
int x, poli;
printf("digite o valor de x: ");
scanf("%d",&x);
poli=3*x*x*x -5*x*x +2*x -1;
printf("o polinomio com x=%d eh igual a %d",x,poli);

getchar();
getchar();
}

3) Dado uma sequência de n inteiros, somar os números pares e os números ímpares dessa sequência:

#include<stdio.h>

int main(void)
{
int par,numero,impar,ntermos,cont;
printf("digite o numero de termos: ");
scanf("%d",&ntermos); /*numero de termos da sequencia */
cont=1;
par=0;
impar=0;

while(cont<=ntermos){
printf("digite um numero: ");
scanf("%d",&numero); /*ler um número */
if(numero%2==0) /* se o resto da divisao do numero por 2 é igual a 0 o número é par */
par=par+numero;
else
impar=impar+numero;

cont=cont+1;
}
/*observe que como temos somente um comando no if, não precisamos utilizar chaves,
e a mesma coisa no else*/

printf("a soma dos numeros pares eh de %d e a dos impares eh de %d",par,impar);

getchar();
getchar();
}


obs: caso esteja algo errado, por favor, não deixe de postar, resolvi todos agora e pode ter algum erro que eu não tenha visto!

Bom, é isso, até mais tarde, né?

3 comentários:

  1. Crie um programa que contenha um vetor de inteiros de tamanho 10 os valores devem ser informados pelo usuário o programa devera localizar se o numero 1 consta no vetor digitado pelo usuário se constar transforme em 0.
    estou precisando de ajuda programa descrito acima.

    ResponderExcluir