Δημοσιεύτηκε: 04 Ιούλ 2011, 10:42
από migf1
clepto έγραψε:απλή άσκηση,
να γράψετε πρόγραμμα που θα παίρνει ως είσοδο 3 ακέραιους αριθμούς και θα υπολογίζει το άθροισμα τους, αν το άθροισμα είναι μεγαλύτερο του μηδέν να βρίσκει τον μέσο όρο ενώ σε διαφορετική περίπτωση να δίνει τον μεγαλύτερο..

Spoiler: show
Κώδικας: Επιλογή όλων
#include <stdio.h>

main(void) {

int x, y, a, xya, moxya;

printf("ΔΩΣΕ 3 ΑΡΙΘΜΟΥΣ");
scanf("%d %d %d", &x, &y, &a);

xya = x+y+a;
printf("ΤΟ ΑΘΡΟΙΣΜΑ ΤΟΥΣ ΕΙΝΑΙ %d /n", xya);

if (xya>0) {
moxya = xya/3;
printf("Ο ΜΕΣΟΣ ΟΡΟΣ ΕΙΝΑΙ %d", moxya);
}
else if (xya<=0) {

if (x>y && x>a) {
printf("μεγαλύτερο είναι το %d", x);
}
else if (y>x && y>a) {
printf("μεγαλύτερο είναι το %d", y);
}
else if (a>x && a>y) {
printf("μεγαλύτερο είναι το %d", a);
}

}

}

Εδώ μια άλλη υλοποίηση της ίδιας άσκησης η οποία είναι ανεξάρτητη από το πλήθος των αριθμών στην είσοδο, υπό την έννοια πως λειτουργεί για οποιοδήποτε πλήθος αριθμών αλλάζοντας την τιμή της σταθεράς: MAXNUMS
Κώδικας: Επιλογή όλων

/* ------------------------------------------------------------------------
* να γράψετε πρόγραμμα που θα παίρνει ως είσοδο 3 ακέραιους αριθμούς και θα
* υπολογίζει το άθροισμα τους, αν το άθροισμα είναι μεγαλύτερο του μηδέν να
* βρίσκει τον μέσο όρο ενώ σε διαφορετική περίπτωση να δίνει τον μεγαλύτερο
*/

#include <stdio.h>
#include <stdlib.h>

#define MAXNUMS 3

int main( void )
{
int n, max, sum = 0;
register int i;

for (i=0; i < MAXNUMS; i++)
{
printf("Enter num #%d: ", i+1);
scanf("%d", &n);
if (i == 0) // στην 1η επανάληψη του loop
max = n; // αρχικοποιούμε το max
else
max = n > max ? n : max; // υπολογισμός του μεγαλύτερου
sum += n; // υπολογισμός του αθροίσματος
}

if ( sum > 0 )
printf("\nThe average of those numbers is: %d\n", sum/MAXNUMS);
else
printf("\nThe maximum of those numbers is: %d\n", max);

exit(0);
}