Cita:  
					Iniciado por amchacon 
  Deja el segundo campo del for (n<20) en blanco.
 
Pero eso no tendría ningún sentido, el programa continuaría hasta el infinito y nunca obtendría un resultado... Tienes que programar con aproximaciones (puedes hacer 30 iteraciones o pedirle al usuario cuantas iteraciones quiere realizar).
    es cierto ya le pregunte al profe  y me dijo que pusiera de limite la division; que cuando d>0.1 ya dejara de hacer iteraciones  lo modifique y asi queda.    
Código C:
Ver original#include<stdio.h>
 
main(){
    double p,w=1,x,sum=0,r=0,f,d=0;
    int k=0;
    printf("Programa para calcular e^x\n");     do{
       if(k==0){
          w=1;
          f=1;
         }
       else{
         p=x*w;
         w=p;         
         f=1;
         int b;
         for(b=1;b<=k;b++){
             f=f*b;
            }
         }
       k++;
       d=w/f;
       
       sum=sum+d;
    }while(d>0.1);
    printf ("\n\n e^x = %.5lf",sum
);    }
  
pero ahora hay otro problema en teoria el programa debiería hacer hasta e^100 pero cuando lo ingreso me da de resultado esto  
e^x=-1.#INDO ¿porque sale eso?