純參考喔, 加油^^
#include <stdio.h>
#include <stdlib.h>
int Input(int *arr, int loop)
{
int i;
for (i = 0; i < loop; i++) {
printf("%2d input number:", i + 1);
scanf("%d", &arr[i]);
if (arr[i] < 0) {
i--;
continue;
}
}
return 0;
}
int MaxMin(int *arr, int length, int *Max, int *Min)
{
int i;
*Min = *Max = arr[0];
for (i = 1; i < length; i++) {
if (arr[i] > *Max)
*Max = arr[i];
if (arr[i] < *Min)
*Min = arr[i];
}
return 0;
}
int CountEvenAndOdd(int *arr, int length, int *Even, int *Odd)
{
int i;
int even = 0, odd = 0;
for (i = 0; i < length; i++) {
if (arr[i] % 2 == 0)
even++;
else
odd++;
}
*Even = even;
*Odd = odd;
return 0;
}
int Sub(int num1, int num2)
{
int num3 = 0;
if (num1 >= num2)
num3 = num1 - num2;
else
num3 = num2 - num1;
return num3;
}
int main()
{
int number1[3];
int number2[10];
int choice = 0;
int *Max = (int *)malloc(sizeof (int));
int *Min = (int *)malloc(sizeof (int));
int *Even = (int *)malloc(sizeof (int));
int *Odd = (int *)malloc(sizeof (int));
for(;;) {
printf("=========================\n");
printf("1.Sub of max number and min number.\n");
printf("2.Count even and odd.\n");
printf("3.Quit.\n");
printf("=========================\n");
printf("Please input your choice:");
scanf("%d", &choice);
switch (choice) {
case 1:
Input(number1, sizeof(number1) / sizeof(number1[0]));
MaxMin(number1, sizeof(number1) / sizeof(number1[0]), Max, Min);
printf("Answer is %d\n", Sub(*Max, *Min));
break;
case 2:
Input(number2, sizeof(number2) / sizeof(number2[0]));
CountEvenAndOdd(number2, sizeof(number2) / sizeof(number2[0]), Even, Odd);
printf("Answer is %d\n", Sub(*Even, *Odd));
break;
case 3:
printf("Bye\n");
goto BEFORE_OUT;
default:
printf("Please input 1-3, thanks.\n");
}
}
BEFORE_OUT:
{
free(Max), free(Min);
free(Even), free(Odd);
}
return 0;
}