El siguiente ejemplo muestra cómo pasar a distintas escalas la temperatura ingresada
* Primero se pedirá por consola que el usuario ingrese un valor de temperatura.
* Segundo se pedirá por consola que el usuario ingrese un número del 1 al 3, para indicar a que escala pertenecer la temperatura.
* Tercero, la función si anidada evaluará a que función llamar, dichas funciones contienen las fórmulas correspondientes para la conversión según sea lo solicitado, y graban los nuevos datos, aquí se utiliza punteros para pasar el vector dentro de las funciones.
* Cuatro, el programa sigue corriendo dentro de la función principal main, y se muestra por pantalla los datos de las tres temperaturas.

Al pie de este post se encuentran las fórmulas de conversión

Conversión de Temperatura con Funciones en Lenguaje C

Código:
#include
typedef struct{ // define un tipo de datos llamado temperatura
float datos[3];
}temperatura;

// Fórmulas
void de_celsius (temperatura *vector1){ // Esta funcion graba los datos en grados Kelvin y Grados Fahrenheit
vector1->datos[1] = 9 * vector1->datos[0] / 5 + 32;
vector1->datos[2] = vector1->datos[0] + 273.15;
}

void de_fahrenheit (temperatura *vector1){ // Esta funcion graba los datos en grados Kelvin y Grados Celsius
vector1->datos[0] = (5 * vector1->datos[1] -160)/9;
vector1->datos[2] = (5 * vector1->datos[1] -160)/9 + 273.15;
}

void de_kelvin (temperatura *vector1){ // Esta funcion graba los datos en grados Celsius y Grados Fahrenheit
vector1->datos[0] = vector1->datos[2] - 273.15;
vector1->datos[1] = (9 * ( vector1->datos[2] -273.15))/5 + 32;
}

int main() {
temperatura vector1; // Se define que vector1 es de tipo temperatura
float dato; // se utiliza esta variable para almacenar temporalmente el dato de temperatura ingresado
int escala; // se utiliza esta variable para almacenar temporalmente el valor para indicar la escala

printf("Ingrese la temperatura n" ) ;
scanf("%f",&dato); // Se solicita al usuario ingresar la temperatura por consola

printf("n En que escala esta el dato? n Ingrese un numero para indicar la escala a la cual corresponde n 1 para Grados Celsius "Grados Centigrados" n 2 para Grados Fahrenheit n 3 para Grados Kelvin n" ) ;
scanf("%d",&escala); // Se solicita al usuario ingresar un número del 1 al 3 correspondiente a la escala

// si anidados que evaluan el dato ingresado como referencia de escala y luego llaman a una funcion
if (escala == 1) {
vector1.datos[0] = dato;
de_celsius(&vector1);

} else if (escala == 2) {
vector1.datos[1] = dato;
de_fahrenheit(&vector1);

} else if (escala == 3){
vector1.datos[2] = dato;
de_kelvin(&vector1);
}

// Muestra por pantalla las temperaturas
printf("n La temperatura en Grados Celsius es %g n La temperatura en Grados Fahrenheit es %g n La temperatura en Grados Kelvin es %g", vector1.datos[0],vector1.datos[1],vector1.datos[2]);

return 0;
}

fahrenheit