ESEMPIO
Programma che scrive "hello!"
#include <stdio.h> main() { printf("Hello!\n"); }o equivalentemente
#include <stdio.h> main() { putchar('H'); putchar('e'); putchar('l'); putchar('l'); putchar('o'); putchar('!'); putchar('\n'); }
Notare che esistono moltissimi, anzi infiniti, programmi che risolvono lo stesso problema.
ESERCIZIO
Scrivere altri tre programmi diversi dai precedenti e tra loro
che producano lo stesso output.
#include <stdio.h> #include <math.h> /*risolve un'equazione di secondo grado di forma a x2 + b x + c = 0 */ /*controllare preventivamente se le soluzioni esistono*/ main() { float a, b, c; printf("Dammi i coefficienti dell'equazione\n"); scanf("%f", &a); scanf("%f", &b); scanf("%f", &c); printf("prima soluzione %f\n", (-b + sqrt(b*b -(4*a*c))) / (2*a)); printf("seconda soluzione %f\n", (-b - sqrt(b*b -(4*a*c))) / (2*a)); }In questo programma il delta dell'equazione è calcolato due volte; è possibile scrivere una versione più efficiente in cui tale calcolo è fatto una volta solo.
#include <stdio.h> #include <math.h> /*risolve un'equazione di secondo grado di forma a x2 + b x + c = 0 */ main() { float a, b, c, rdelta; printf("Dammi i coefficienti dell'equazione\n"); scanf("%f", &a); scanf("%f", &b); scanf("%f", &c); /*calcolo la radice del delta*/ rdelta = sqrt(b*b -(4*a*c)); printf("prima soluzione %f\n", (-b + rdelta) / (2*a)); printf("seconda soluzione %f\n", (-b - rdelta) / (2*a)); }