-4

以下のコードをenthusiasticgeekから変更して、ユーザー入力(たとえば、入力n、次にn個の整数)を許可する方法を知っている人はいますか?これらのn個の整数と中央値を出力します。nは奇数で正であり、100万未満です。

enthusiasticgeek.comから貼り付けられたコード:

#include <stdio.h>
#include <stdlib.h>

#define ELEMENTS 6

int values[] = { 40, 10, 100, 90, 20, 25 };

int compare (const void * a, const void * b)
{
  return ( *(int*)a - *(int*)b );
}

int main ()
{
  int n;
  qsort (values, ELEMENTS, sizeof(int), compare);
  for (n=0; n<ELEMENTS; n++)
  {   printf ("%d ",values[n]); }
  printf ("median=%d ",values[ELEMENTS/2]);
  return 0;
}
4

1 に答える 1

0

使用する:

int values[static or dynamic allocation dependent]
for (i=0;i<n;i++){
  printf("Enter number:");
  scanf(%d, value[i]);
}

値配列の値をハードコーディングするだけではありません。

配列を動的に宣言するか、必要な整数の数1,000,000を受け入れるのに十分な大きさに静的に作成するようにしてください。ただし、これは大量のメモリです。それほど多くの数字を手動で入力するのにそれほど時間はかかりません。30トップで宣言すればおそらく安全です。

または、「要素の定義」部分を使用することを計画している場合は、values配列を6として宣言するだけで済みます。

于 2012-08-08T16:23:56.173 に答える