純參考喔, 加油^^

#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;
}






arrow
arrow
    全站熱搜
    創作者介紹
    創作者 Walter Blyss 的頭像
    Walter Blyss

    Walter Blyss的部落格

    Walter Blyss 發表在 痞客邦 留言(0) 人氣()