我正在參加在線C班,但教授拒絕回覆電子郵件,我需要一些幫助。查找給定整數中的最大偶數
總而言之,我們的任務是編寫一個程序,該程序從用戶那裏獲取一個整數,並找到最大的偶數位以及該數字在給定整數中出現的次數。
#include <stdio.h>
void extract(int);
void menu(void);
int main() {
menu();
}
void menu() {
int userOption;
int myValue;
int extractDigit;
do {
printf("\nMENU"
"\n1. Test the function"
"\n2. Quit");
scanf("%d", &userOption);
switch (userOption) {
case 1:
printf("Please enter an int: ");
scanf("%d", &myValue);
extractDigit = digitExtract(myValue);
break;
case 2:
printf("\nExiting . . . ");
break;
default:
printf("\nPlease enter a valid option!");
}
} while (userOption != 2);
}
void digitExtract(int userValue) {
int tempValue;
int x;
int myArr[10] = { 0 };
tempValue = (userValue < 0) ? -userValue : userValue;
do {
myArr[tempValue % 10]++;
tempValue /= 10;
} while (tempValue != 0);
printf("\nFor %d:\n", userValue);
for (x = 0; x < 10; x++) {
printf("\n%d occurence(s) of %d",myArr[x], x);
}
}
我已經得到了該方案同時顯示奇數&甚至數字,它的出現。
我被卡住的唯一部分是讓程序只顯示最大的偶數位,並且它的出現。我試過的所有東西都破壞了程序的邏輯,或者產生了一些奇怪的輸出。
我應該如何繼續的任何提示或想法?
提前致謝。
只需按降序(8,6,4)檢查偶數位並打印並打破,如果'myArr [x]> 0' – rohit89
您可以使用數組10來存儲計數,當用戶退出時發現最大計數然後打印索引 – Subinoy
輕微:注意:如果myValue == INT_MIN代碼有問題。 – chux