Consultas, desarrollo de programas y petición de presupuestos:

jueves, 12 de julio de 2012

Prácticas de C: Bucles (I)

Vamos a mostrar los numero del 1 al 25:
#include <stdio.h>
int main(int argc, char **argv)
{
int num=1;
while (num<26){
    printf("%d\t",num);
    num++;
}
return 0;
}

Mostrar números pares del 1 al 50:
#include <stdio.h>
int main(int argc, char **argv)
{
int num=1;
while (num<=50){
    if (num%2==0) {
    printf("%d ",num);
    }
num++;
}
return 0;
}

Nota:
Cuidado con la condicion del while, no vale poner =<, es <=
Cuidado en if, para coparar ==, no vale = (que lo entiende como asignación)

Sumar por un lado los números pares y por otro lado los impares entre 1 y 50:
#include <stdio.h>
int main(int argc, char **argv)
{
int num=0;
int sumapar=0;
int sumaimpar=0;
while (num<=50){
    if (num%2==0) {
        sumapar+=num;
    } else {
        sumaimpar+=num;
}
num++;
}
printf("Suma numeros pares %d \n",sumapar);
printf("Suma numeros impares %d \n",sumaimpar);
return 0;
}

Queremos saber que es mayor, si la suma de los múltiplos de 3 entre 1 y 50 ó la suma de los multiplos de 5 entre 1 y 30:
#include <stdio.h>
int main(int argc, char **argv)
{
int num=0;
int sumamultiplo3=0;
int sumamultiplo5=0;
while (num<=50){
    if (num%3==0) {
        sumamultiplo3+=num;
     }
    if  (num%5==0) {
        sumamultiplo5+=num;
    }
num++;
}
if (sumamultiplo5>sumamultiplo3) {
    printf("La suma de multiplos de 5 es mayor que la de 3 (multiplo de 5:%d multiplo de 3:%d )",sumamultiplo5,sumamultiplo3);
    } else {
    printf("La suma de multiplos de 3 es mayor que la de 5 (multiplo de 5:%d multiplo de 3:%d )",sumamultiplo5,sumamultiplo3);
}
return 0;
}


Vamos a mostrar los 32 primeros múltiples de 3:
#include <stdio.h>
int main(int argc, char **argv)
{
int num=0;
int contador=0;
while (contador<32){
    num++;
    if (num%3==0) {
        contador++;
        printf("Contador:%d y el nº es %d \n",contador,num);
    }
}
return 0;
}

Vamos a mostrar multiplos de 3 ó de 5, el programa va a mostrar los 10 primeros sean del tipo que sean.

#include <stdio.h>
int main(int argc, char **argv)
{
/* Comentario en un parrrafo:
Vamos a mostrar multiplos de 3 ó de 5,
el programa va a mostrar los 10 primeros
sean del tipo que sean. */
int num=0;
int contador=0;
// Comentario en una linea: siempre hay que darle valor al contador antes de entrar en el bucle
while (contador<10){
    num++;
    if (num%3==0) {
            contador++;
            printf("Numero multiplo de 3: %d (contador %d) \n",num,contador);
    }
    if (num%5==0) {
        contador++;
        printf("numero multiplo de 5: %d (contador %d) \n",num,contador);
    }
}
return 0;
}


Mostrar múltiplos de un número que indique el usuario comprendidos entre 1 y 100.
#include <stdio.h>
int main(int argc, char **argv)
{
//Mostrar múltiplos de un número que indique el usuario comprendidos entre 1 y 100.
int num=0;
int numusuario=0;
printf("Indique un numero, y le mostrare los multiplos entre 1 a 100:");
scanf("%d",&numusuario);
num=numusuario;
while (num<100) {
    if (num%numusuario==0) {
            printf("%d es multiplo de %d \n",num, numusuario);
    }
    num++;
}
return 0;
}

Solicitar al usuario 2 numeros, asegurando que el 1º numero es menor que el 2º y mostrar todos los numeros comprendidos entre ambos.
#include <stdio.h>
int main(int argc, char **argv)
{
int num1=0;
int num2=0;
int c=0;
// pido los numeros
printf("Escriba 1º numero:\n");
scanf("%d",&num1);
printf("Escriba 2º numero:\n");
scanf("%d",&num2);

/*evaluo cual es el mayor y
hago el buble de presentar los numeros entre ambos */

if (num1>num2) {
    c=num2;
     while (c<num1-1) {
        c++;
        printf("%d ",c);
    }
    } else {
    c=num1;
    while (c<num2-1) {
        c++;
        printf("%d ",c);
    }
}
return 0;
}

Pedir 3 numeros al usuario y mostrarnos los múltiplos del 1º comprendidos entre 2º y el 3º
#include <stdio.h>
int main(int argc, char **argv)
{
int n1=0;
int n2=0;
int n3=0;
int aux=0;
printf("Escriba 3 numeros, para mostrar los multiplos del 1º comprendido entre el 2º y el 3º:");
scanf("%d",&n1);
scanf("%d",&n2);
scanf("%d",&n3);
if (n2>n3) {
    //cambiamos de sitio los numeros    
     aux=n2;
    n2=n3;
    n3=aux;
    }
while (n2<=n3) {
    if (n2%n1==0) {
        printf("Numero: %d \n",n2);
        }
    n2++;
    }
return 0;
}

Nota:
No vale =<, solo <=

No hay comentarios:

Publicar un comentario en la entrada