>void main (void)
No, main returns an int and nothing else.
>gets(name);
This is okay only for student programs that will be thrown away shortly, otherwise it's just too unsafe to be worth it. Consider using fgets instead.
>I want to make sure that what the user enters are numbers.
In this case you can simply report an error if scanf fails. This ensures that the numbers you add together are well defined:
Code:
#include <stdio.h>
int main (void)
{
char name [20];
int numbers [5];
int average;
printf ("Please enter your name\n\n");
gets(name);
printf ("\n\nThank you %s, now enter 5 numbers pressing Enter after each\n\n", name);
if ( scanf("%d%d%d%d%d", &numbers[0],&numbers[1],&numbers[2],&numbers[3],&numbers[4]) == 5 ) {
average = (numbers[0] + numbers[1] + numbers[2] + numbers[3] + numbers[4]) / 5;
printf ("\n\n%s the average of those numbers is %d,\n\n", name, average);
printf ("\n\n%d%d%d%d%d\n\n", numbers[4], numbers[3], numbers[2], numbers[1], numbers[0]);
}
else
printf ("Only numbers please\n");
return 0;
}
-Prelude