私はObjective Cにかなり慣れていないため、ユーザーから一連の整数を受け取り、そこから5つの情報を提供する必要がある割り当てを受けました。
- 入力数
- 入力の合計
- 入力の平均
- 最小の入力
- 最大の入力
最初の 3 つの部分はわかりましたが、最小/最大の数値を取得する方法が思いつきません。最小/最大を取得する方法を知っている唯一の方法は、「if」ステートメントを使用することですが、それらをコードに組み込む方法がわかりません。どんな助けでも大歓迎です!
#include <stdio.h>
int main(int argc, const char * argv[])
{
//variables
int input;
int count = -1;
int sum = 0;
float average = 0;
do
{
printf("Enter a number.\n");
scanf("%i", &input);
count++;
sum += input;
average = sum / count;
} while (input != 0);
printf("You entered %i numbers.\n", count);
printf("The sum of your numbers are %i.\n", sum);
printf("The average of your numbers is %f.\n", average);
return 0;
}
編集:「do...while」ループの前に新しい変数「prevnum」を作成して、前の入力と等しくしました。「prevnum」変数を使用して、「if...else」ステートメントを使用して、新しい入力と保存された最小値/最大値と比較しました。それが最も効率的な方法なのか「正しい」方法なのかはわかりませんが、機能的で正しい出力が得られます。コードは次のとおりです。
含む
int main(int argc, const char * argv[]) {
//variables
int input = 0;
int count = -1;
int sum = 0;
int average = 0;
int max = 0;
int min = 0;
int prevnum;
do
{
prevnum = input;
printf("Enter a number.\n");
scanf("%i", &input);
count++;
sum += input;
average = sum / count;
if(input >= prevnum && input >= max)
max = input;
else if(input < max)
max = max;
if(input <= min && input <= max)
min = input;
else if(input > min)
min = min;
} while (input != 0);
printf("You entered %i numbers.\n", count);
printf("The sum of your numbers are %i.\n", sum);
printf("The average of your numbers is %i.\n", average);
printf("The largest number entered was %i.\n", max);
printf("The smallest number entered was %i.\n", min);
return 0;
}