You are on page 1of 23

/*Programa que lee tres valores enteros introducidos desde el teclado, y muestra en la pantalla el ms grande de los tres*/ /*opcin

uno*/ #include<stdio.h> main( ) { int A,B,C; int MAX; printf("introduzca tres enteros:"); scanf("%i %i %i",&A,&B,&C); if(A>B) MAX=A; else MAX=B; if(C>MAX) MAX=C; printf("El mayor entero es %i\n",MAX); return 0; } /*Programa que lee tres valores enteros introducidos desde el teclado, y muestra en la pantalla el signo del producto sin realizar la multiplicacin*/ #include<stdio.h> main( ) { int A,B; printf("introduzca dos enteros:"); scanf("%i %i",&A,&B); if(A>0&&B>0) printf("El signo del producto es positivo \n"); else if (A<0&&B<0) printf("El signo del producto es positivo \n"); else printf("El signo del producto es negativo \n"); return 0; }

/*Programa que lee tres valores enteros introducidos desde el teclado, y muestra en la pantalla el ms grande de los tres*/ /*opcin dos*/ #include<stdio.h> main( ) { int A,B,C; printf("introduzca tres enteros:"); scanf("%i %i %i",&A,&B,&C); printf("El mayor entero es:"); if(A>B&&A>C) printf("%i\n",A); else if(B>C) printf("%i\n",B); else printf("%i\n",C); return 0; } /*Programa que loe dos valores introducidos desde el teclado y determina las opciones correctas: A>B; A>10; B<10*/ #include<stdio.h> main () { int A,B; /*Introducir los datos*/ printf ("Introduzca el numero A:"); scanf("%d",&A); printf ("Introduzca el numero B:"); scanf("%d",&B); /*Desarrollo*/ if (A>B) /*Inprimir el resultado*/ printf ("primera opcion\n"); else if (A>10) printf("segunda opcion\n"); if(B<10) printf("tercera opcion\n"); else

printf("cuarta opcion\n"); return 0; }

/*Programa que lee dos valores introducidos desde el teclado y determina si los valores son iguales o cual de ellos es mayor*/ #include<stdio.h> main ( ) { int A,B; /*Introducir los datos*/ printf ("Introduzca los enteros:"); scanf("%i %i",&A,&B); /*desarrollo*/ if (A>B) printf("%i es mayor que %i\n",A,B); else if(A<B) printf ("%i es menor que %i\n",A,B); else printf("%i es igual a %i\n",A,B); return 0; } ESTRUCTURAS WHILE /*Programa que despliega los nmeros del 10 al 1*/ #include<stdio.h> main( ) { int I=10; while (I) { printf ("%i\n",I--); } return 0; }

/*Programa que despliega la suma de los 100 primeros nmeros*/ main( ) { int N=1,SUM=0; while(N<=100) { SUM+=N; N++; } printf("suma=%d\n",SUM); return 0; } /*Programa que despliega los nmeros del 0 al 9*/ #include<stdio.h> main( ) { int I=0; while (I<10) { printf ("%i\n",I); I++; } return 0; }

/*Programa que despliega los nmeros del 10 al 1*/ #include<stdio.h> main( ) { int I=10; while (I) { printf ("%i\n",I--); } return 0; }

/*Programa que despliega la suma de los 100 primeros nmeros*/ main( ) { int N=1,SUM=0; while(N<=100) { SUM+=N; N++; } printf("suma=%d\n",SUM); return 0; } /*Programa que muestra la suma, el producto y el cociente de la suma sobre el producto de los n numeros introducidos desde el teclado*/ #include<stdio.h> main () { int N;/*N de datos*/ int NUM; /*Dato actual*/ int I; /*Contador*/ long SUM; /*Suma de los Ns introducidos*/ double PROD; /*Producto de los Ns introducidos*/ printf ("Numero de datos: "); scanf("%d",&N); SUM=0; PROD=1; I=1; while (I<=N) { printf("%d.numero: ",I); scanf("%d",&NUM); SUM+=NUM; PROD*=NUM; I++; }

printf ("La suma de los %d numeros es %ld\n",N,SUM); printf ("El producto de los %d numeros es %.0f\n",N,PROD); printf ("El cociente de la suma sobre el producto de los %d numeros es %.4f\n",N,(float)SUM/N); return 0; } /*Programa para determinar el factorial de un numero utilizando la estructura while*/ #include<stdio.h> main ( ) { int N;/*El dato*/ int I;/*El contador*/ double FACT;/*Factorial de N - Tipo double por la talla del resultado*/ /*Introducir el dato*/ printf ("Introduzca un entero natural:"); scanf("%d",&N); if (N>=0) { /*Para N=0, automaticamente 0!=1*/ I=1; FACT=1; while (I<=N) { FACT*=I; I++; } /*Impresion del resultado*/ printf ("%d!=%.0f\n",N,FACT); } else printf("El factorial de un numero negativo NO existe !!\n"); return 0; }

ESTRUCTURAS PUTCHAR, GETCHAR /*Programa para copiar la entrada a la salida*/ #include<stdio.h> main() { int C; while (C=getchar()|!EOF) putchar(C); return 0; }

ESTRUCTURAS IF ELSE /*Programa que calcula las soluciones reales e imaginarias de una ecuacion de segundo grado*/ #include<stdio.h> #include<math.h> main() { float a,b,c,d,x1,x2; printf("Introduzca los tres coeficientes\n"); scanf ("%f %f %f",&a,&b,&c); if (a!=0) { d=b*b-4*a*c; if (d>0) { printf("Dos soluciones reales y distintas\n"); x1=(-b+sqrt(d))/(2*a); x2=(-b-sqrt(d))/(2*a); printf("x1=%6.2f x2=%6.2f\n",x1,x2); } else if (d==0) {

printf(" dos soluciones reales e iguales\n"); x1=(-b)/(2*a); printf(" x=%6.2f\n",x1); } else { printf(" no tiene solucion real\n"); printf(" tiene dos soluciones complejas \n"); x1=-b/(2*a); x2=sqrt(-d)/(2*a); printf(" parte real %6.2f\n",x1); printf(" parte imaginaria %6.2f\n", x2); printf(" segunda solucion \n"); printf(" parte real %6.2f\n",x1); printf(" parte imaginaria %6.2f\n",x2); } } else if (b!=0) printf(" una solucion simple =%6.2f\n",c/b); else if (c==0) printf(" se introdujo la identidad 0=0\n"); else printf(" sin solucion\n"); return 0; }

ESTRUCCTURA DO WHILE /*Programa que determina la suma, el producto y el promedio de n nmeros introducidos desde el teclado*/ #include<stdio.h> main () {

int N;/*N de datos*/ int NUM; /*Dato actual*/ int I; /*Contador*/ long SUM; /*Suma de los Ns introducidos*/ double PROD; /*Producto de los Ns introducidos*/ printf ("Numero de datos: "); scanf("%d",&N); SUM=0; PROD=1; I=1; do { printf("%d.numero: ",I); scanf("%d",&NUM); SUM+=NUM; PROD*=NUM; I++; } while (I<=N); printf ("La suma de los %d numeros es %ld\n",N,SUM); printf ("La suma de los %d numeros es %.0f\n",N,PROD); printf ("La suma de los %d numeros es %.4f\n",N,(float)SUM/N); return 0; } /*Programa para determinar el factorial de un numero utilizando la estructura do-while*/ #include<stdio.h> main () { int N;/*El dato*/ int I; /*El Contador*/ double FACT; /*N!-Tipo double por la talla del resultado*/ /*desarrollo*/ do

{ printf ("Introduzca el entero natural: "); scanf("%d",&N); } while(N<0); /*fwsdf*/ I=1; FACT=1; while(I<=N) { FACT*=I; I++; } printf("%d!=%.0f\n",N,FACT); return 0; } /*Programa calcular la raiz cuadrada de un numero introducido desde el teclado*/ #include<stdio.h> #include<math.h> main () { float N; do { printf("Introduzca un numero(>=0):"); scanf("%f",&N); } while(N<0); printf("La raiz cuadrada de %.2f es %.2f\n",N,sqrt(N)); return 0; } ESTRUCRURA FOR /*Programa calcular la suma de los 100 primeros numeros enteros naturales*/ #include<stdio.h>

main () { int N,SUMA; for (SUMA=0,N=1;N<101;N++) SUMA+=N; printf("La suma de los 100 primeros enteros naturales es %d\n",SUMA); return 0; }

/*Progrma que imprime una Tabla Fahrenheit-Celsius para Fahrenheit=0,20,....300*/ #include<stdio.h> main ( ) { int Fahrenh,Celsius,min,Max,Paso; min=0; /*Valor minimo de la tabla*/ Max=300; /*Valor maximo de la tabla*/ Paso=20; /*Paso de los calculos*/ Fahrenh=min; while (Fahrenh<=Max) { Celsius=5*(Fahrenh-32)/9; printf ("%d\t%d\n",Fahrenh,Celsius); Fahrenh+=Paso; } return 0; } /*Progrma que imprime una Tabla Fahrenheit-Celsius para Fahrenheit=0,20,....300; en pasos de 20*/ #include<stdio.h> main ( ) { float Fahrenh,Celsius; int min=0,Max=300,Paso=20; /*Paso de los calculos*/ Fahrenh=min;

while (Fahrenh<=Max) { Celsius=(5.0/9.0)*(Fahrenh-32.0); printf ("%3.0f%6.1f\n",Fahrenh,Celsius); Fahrenh+=Paso; } return 0; }

/*Programa que la suma de los n primeros terminos de la serie armonica N..1+(1/2)+(1/3)+..(1/N)*/ /*Programa que determina la suma, el producto y el promedio de n nmeros introducidos desde el teclado; las operaciones se detienen al introducir el 0*/ #include<stdio.h> main () { int X; /*Numero actual*/ int N=0; /*El contador*/ int SUM=0; /*Suma actual*/ long PROD=1; /*Producto actual-Tipo long por la talla del resultado*/ do { /*Introduccion de datos(para perfeccionistas)*/ printf("Intruduzca el %d%s numero:",(N+1),(!N||N==2)?"er":"o"); scanf("%d",&X); if(X<0||X>9) printf("\a"); else if(X) { N++; SUM+=X; PROD*=X; }

else if(!X&&N>0) { /*solo si al menos un numero ha sido aceptado*/ printf("La suma de los numeros es %d\n",SUM); printf("El producto de los numeros es %ld\n",PROD); printf("El promedio de los numeros es %f\n",(float)SUM/N); } } while(X); return 0; }

/*Programa para determinar el factorial de un numero utilizando la estructura for*/ #include<stdio.h> main () { int N;/*El dato*/ int I; /*El Contador*/ double FACT; /*N!-Tipo double por la talla del resultado*/ /*desarrollo*/ do { printf ("Introduzca el entero natural: "); scanf("%d",&N); } while(N<0); /*fwsdf*/ for(FACT=1.0,I=1;I<=N;I++) FACT*=I; I++; printf("%d!=%.0f\n",N,FACT); return 0; }

/*Programa que calcula el valor de X de un polinomio introduciendo el grado y los coeficientes*/ #include<stdio.h> main() { /*Inicializacion de las variables*/ int I,COEF,G; float EVAL,AUX; I=0; /*Introduccion de los datos de la ecuacion */ printf("Introduzca el grado del polinomio:"); scanf("%d",&G); printf("Introduzca el numero al que sera evaluada la expresion:"); scanf("%f",&EVAL); /*Condicion de ingreso de las componentes P(x)=A_N X^N+B_(N-1) X^(N-1)+A_1 X+A_0*/ do { printf("Introduzca el%d coeficiente",I+1); scanf("%d",&COEF); if(I==0) { AUX=COEF*EVAL; } else if(I) { AUX=COEF+AUX; AUX=AUX*EVAL; } I++; } while(!(I==G+1)); /*Impresion del resultado*/ printf("La respuesta es = %f\n",(float)AUX/EVAL); return 0; }

/*Programa que calcula el maximo comun divisor de dos numeros introducidos desde el teclado*/ #include<stdio.h> main() { /*Inicializacion de las variables*/ int A,B,Res; int Mayor,Menor; do /*Condicion inicial*/ { printf("Introduzca el primer numero entero(N>0):"); scanf("%d",&A); } while(A<=0); do { printf("Introduzca el segundo numero entero(N>0):"); scanf("%d",&B); } /*Detectar cual es el mayor*/ while(B<=0); if(A>B) { Mayor=A; Menor=B; } else { Mayor=B; Menor=A; } /*Operaciones*/ printf("MAYOR=%d, MENOR=%d\n",Mayor,Menor); Res=Mayor%Menor; /*Condicion de operacion*/ while(!(Res==0)) { Mayor=Menor;

Menor=Res; Res=Mayor%Menor; } /*Impresion de resultados*/ printf("El maximo comun divisor es %d\n",Menor); return 0; } /*Programa que muestra un triangulo formado por (*)*/ #include<stdio.h> main() { int filas,columnas,blancos;/*Variables*/ int altura;/*Dato*/ /*Condicion de inicializacion*/ do { printf("Introduzca la altura del arbol:"); scanf("%d",&altura); } while(!(altura>0)); /*Desarrollo*/ for(filas=1; filas<=altura; filas++) { for(blancos=1; blancos<=altura-filas; blancos++) { /*Impresion de espacios inverso de las filas*/ printf(" "); } for(columnas=1; columnas<=2*filas-1; columnas++) { /*impresion de * proporcional a las filas*/ printf("*"); } /*Terminacion de la fila*/

printf("\n"); } return 0; } /* Programa que despliega un triangulo con asteriscos*/ #include<stdio.h> int main(void) { int filas,altura,blancos,columnas; printf("Introduzca el numero de filas de la piramide: "); scanf("%d", &altura); for (filas=1; filas<=altura; filas++) { for (blancos=1; blancos<=altura-filas; blancos++) { printf(" "); } for (columnas=1; columnas<=filas; columnas++) { printf("*"); printf(" "); } printf("\n"); } return 0; /*Programa que calcula X^N, sinedo X y N dos enteros naturales introducidos desde el teclado*/ #include<stdio.h> main() { int X,N; /*Los datos*/

int I; /*El contador*/ double RESP; /*Tipo double por la talla del resultado*/ do { printf("Intoduzca un entero natural X:"); scanf("%d",&X); } while (X<0); do { printf("Introduzca el exponente N:"); scanf("%d",&N); } while(N<0); /* Para N=0, automaticamente X^0=1*/ for(RESP=1.0,I=1;I<=N;I++) RESP*=X; /* cero a la cero NO esta definido !*/ if(N==0&&X==0) printf("cero a la cero NO esta definido!!\n"); else printf("Respuesta: %d^%d=%.0f\n",X,N,RESP); return 0; }

PROGRAMAS CON PUNTEROS Y MATRICES #include<stdio.h> main() { short A,B,*P; //PROCESAMIENTO A=10;

B=50; P=&A; B=*P; *P=20; return 0; } #include<stdio.h> main() { //DECLARACIONES short A=10; short B=50; short*P; //PROCEDIMIENTO P=&A; B=*P; *P=20; return 0; }

#include<stdio.h> main ( ) { int A=1; int B=2; int C=3; int *P1,*P2; P1=&A; P2=&C; *P1=(*P2)++; P1=P2; P2=&B; *P1-=*P2; ++*P2; *P1*=*P2; A=++*P2**P1;

P1=&A; *P2=*P1/=*P2; return 0; } //este programa copia los elementos positivos de una tabla T a una segunda tabla llamada POS #include<stdio.h> main ( ) { int T[10]={-3,4,1,-7,3,8,0,-1,4,-9}; int POS[10]; int I,J;//INDICES ACTUALES PARA T Y POS for(J=0,I=0;I<10;I++) if (T[I]>0) { POS[J]=T[I]; J++; } return 0; } T[I]=*(T+I) POS[J]=*(POS+J) //este programa copia los elementos positivos de una tabla T a una segunda tabla llamada POS #include<stdio.h> main ( ) { int T[10]={-3,4,1,-7,3,8,0,-1,4,-9}; int POS[10]; int I,J;//INDICES ACTUALES PARA T Y POS for(J=0,I=0;I<10;I++) if (*(T+I)>0) { *(POS+J)=*(T+I); J++; } return 0;

} //programa con punteros #include<stdio.h> main() { //declaraciones int A[100],B[50];//TABLAS DADAS int I,M,N;//indice actual //introduccion de datos printf("Dimencion de A(max100):");scanf("%d",&N); for(I=0;I<N;I++) { printf("Elemento %d:",I);scanf("%d",A+I); } printf("Dimencion de B(max50):");scanf("%d",&M); for(I=0;I<M;I++) { printf("Elemento %d:",I);scanf("%d",B+I); } //MOSTRAR LAS TABLAS printf("Tabla A:\n"); for(I=0;I<N;I++) printf("%7d",*(A+I)); printf("\n"); printf("Tabla B:\n"); for(I=0;I<M;I++) printf("%7d",*(B+I)); printf("\n"); //Copiar B al finhal de la tabla A for(I=0;I<M;I++) *(A+N+I)=*(B+I); //Nueva dimenciobn de A N+=M; //mostrar tabla resultante

printf("Tabla resultante A:\n"); for(I=0;I<N;I++) printf("%7d",*(A+I)); printf("\n"); return 0; } //realizar la suma de todos los elementos de la matriz #include<stdio.h> main() { int M[4][10]={{0,1,2,3,4,5,6,7,8,9},{10,11,12,13,14,15,1 6,17,18,19},{20,21,22,23,24,25,26,27,28,29},{30,31,3 2,33,34,35,36,37,38,39}} int *P; int I, SUMA; P=(int*)M;//SE APLICA PUNTEROS. SUMA=0; for(I=0;I<40;I++) SUMA+=*(P+I);//SE APLICO LA CPNVERSION FORZADA. printf("la suma es:%d",SUMA); return 0; }// dar un ejemplo en donde se vea por qu en el lenguaje c se legaliza el manejo de punteros sobre el primer elemento //despus de la tabla. #include<stdio.h> main() { //declaraciones int A[10];//TABLA DADA int *P;//PUNTERO SOBRE A //INTRODUCIR DATOS printf("Introducir 10 enteros:\n"); for(P=A;P<A+10;P++) scanf("%d",P); //mostrar la tabla

printf("Tabla dada A:\n"); for(P=A;P<A+10;P++) printf("%d",*P); printf("\n"); return 0; }