0

簡単な質問。番号を尋ねる簡単なスクリプトを作成しようとしています。その整数は、合計で入力する数値の量になります。次に、プログラムは最大数と最小数を見つけます。そして、私はそれを構築しました。簡単。

  int CHECK=100;
  int a[50],size,i,max,min;

  printf("\nEnter the size of the array: ");
  scanf("%d",&size);
  printf("\nEnter %d numbers: ", size);
  for(i=0;i<size;i++)
  scanf("%d",&a[i]);
  }
  max=a[0];
  for(i=1;i<size;i++){
     if(max<a[i])
       max=a[i];
  }
 printf("\nLargest element: %d",max);
 printf("\n");
 min=a[0];
 for(i=1;i<size;i++){
  if(min>a[i])
       min=a[i];
}
printf("Smallest element: %d",small);
printf("\n");

return 0;
}

私の質問は、どうすれば状態をチェックするように言うことができるかということです。たとえば、ユーザーは正の数で100未満しか入力できません。したがって、-4または201を入力すると、再試行するように指示するエラーが表示される必要があります。簡単な方法でそれを行う方法に関するアイデア。または、私を正しい方向に向けることさえできます。

それは有り難いです。ありがとうございました。

4

1 に答える 1

1

それは実に簡単です - 少なくとも Python と同じくらい簡単です。条件を説明するためにあなたに固執していますscanfが、@ j_random_hacker のコメント (++) を参照してください。

for(i=0; i < size; i++) {
    scanf("%d",&a[i]);
    if ( a[i] < 0 || a[i] > 99 ) {
        fprintf(stderr, "Number '%d' is out of range, try again: ", a[i]);
        i--;
    }
}

ところで、{コードに欠落がありましたが、転置エラーだったと思います。(一貫したインデントは、このようなエラーを拾うのに役立ちます - Python では良い考えではありません)。

于 2012-11-18T13:35:03.843 に答える