Esercizio: somma di numeri razionali
Si vuole scrivere un programma che accetti in input due razionali nella forma n/m
e ne stampi la somma (non semplificata).
Ad esempio:
Inserisci il primo numero: 3/4
Inserisci il secondo numero: 1/2
La somma dei due numeri è 5/4
Opzionale:
- Una volta compilato il programma eseguilo con
gdb
controllando ad ogni step i valori delle variabili locali.
Suggerimento
In questo caso possiamo richiedere all’utente che il formato includa lo slash, e quindi includerlo nel pattern di scanf.
Soluzione
#include <stdio.h>
int main(void)
{
// creo le variabili per salvare l'input
int n1, m1, n2, m2;
int num, den;
// leggo da stdin
("%d/%d", &n1, &m1);
scanf("%d/%d", &n2, &m2);
scanf
// sommo le due frazioni
= n1 * m2 + n2 * m1;
num = m1 * m2;
den
// stampo a monitor il risultato
("Risultato: %d/%d\n", num, den);
printf}