Cara, você esqueceu de colocar as variáveis n1 e n2 nos printf's!  // Processamento
switch(opcao){
case 1:
soma=n1+n2;    
printf("A soma de %d e %d é %d.",n1,n2,soma);//<-- aqui
break;
}
{
switch(opcao){      
case 2:
subtracao=n1-n2;    
printf("A subtracao de %d e %d é %d.",n1,n2,subtracao);//<-- aqui
break;
}
{
switch(opcao){      
case 3:
multiplicacao=n1*n2;    
printf("A multiplicacao de %d e %d é %d.",n1,n2, multiplicacao);//<-- aqui
break;
}
{
switch(opcao){      
case 4:
divisao=n1/n2;    
printf("A divisao de %d e %d é %d." ,n1,n2,divisao);//<-- aqui
}
Eu fiz dessa maneira:
#include<stdio.h>
int main(){
    int num1, num2, opcao;
    printf("Escolha dois numeros: ");
    scanf("%d %d", &num1, &num2);
    printf("\nEscolha uma opcao:\n");
    printf("1.Somar\n2.Subtrair\n3.Multiplicar\n4.Divisao\n");
    printf("Opcao Escolhida: ");
    scanf("%d", &opcao);
    puts("");
    switch(opcao){
        case 1:printf("%d + %d = %d\n", num1, num2, (num1+num2));
        break;
        case 2:printf("%d - %d = %d\n", num1, num2, (num1-num2));
        break;
        case 3:printf("%d x %d = %d\n", num1, num2, (num1*num2));
        break;
        case 4:printf("%d / %d = %d\n", num1, num2, (num1/num2));
        break;
        default:printf("Opcao Invalida!\n");
    }
    getchar();
    return 0;
}