Te ayudo con lo primero:
A continuacion el codigo.
================================
/* Calculo de Combinatoria y Permutaciones
* Autor: Roberto Perez
* Potosí - Bolivia */
#include <stdio.h>
// Funcion para n! solo enteros no negativos
long int factorial(int n){
if(n<=1) return 1;
else return (n*factorial(n - 1));
}
//Calculo de C= n!/r!(n-r)!
long int combinatoria(int n, int r){
return (factorial(n) / (factorial(r)*factorial(n-r)));
}
//Calculo de P= n!/(n-r)!
long int permutacion(int n, int r){
return (factorial(n)/factorial(n-r));
}
//Principal
int main(void){
int n,r;
printf("Ingreso solo numeros enteros!n");
printf("Valor de n: ");
scanf("%d", &n);
printf("Valor de r: ");
scanf("%d", &r);
printf("Valor Combinatoria [C] = %ld n", combinatoria(n,r));
printf("Valor Permutacion [P] = %ld n", permutacion(n,r));
//getch(); creo q esto es necesario en Windows
return 0;
}