不完整的用户输入直方图C.

时间:2015-10-30 20:54:07

标签: c histogram

需要为项目完成一个不完整的直方图。

   #include <stdio.h>



/**
    * Prints a histogram to the screen using horizontal bar chart.
    * Parameters:
    *   list - a list of integers
    *   n - the number of values in the list
    */
    void printHistogram ( int *hist, int n );

   /**
 * This program requests data from the user and then
 * computes and prints a histogram. You may assume that
     * the data values entered are in the range of 0 to 9.
    */
   int main ( void )
   {


int i, n;


// Data entry
//
printf ("How many values in your data set? ");
scanf ("%d", &n);

int list[n];
for (i=0; i < n; i++) {
    printf ("Enter a value: ");
    scanf ("%d", &list[i]);
}

// Processing data to compute histogram

int hist[10];    


// Printing histogram
printHistogram ( hist, 10);

return 0;
}



void printHistogram ( int *list, int n )
{
int i, j;

for (i=0; i < n; i++) {
    printf ("[%d] ", i);
    for (j = 0; j < list[i]; j++)
        printf ("*");
    printf ("\n");
  }
 }

1 个答案:

答案 0 :(得分:1)

您提供的实际解决方案信息太少,但无论如何 所以,我假设您要打印一个直方图,其中包含1-9的整数出现次数(至少,这是我所理解的)。
一种可能的方法是创建一个ingeter数组,该数组将保留每个整数的出现次数。它显然有10个项目。当您到达输入时,对于您遇到的每个整数,您将增加数组中的相应项。请注意,您不需要在数组中搜索每个整数。
如果你想计算单词字符串的出现次数,这有点复杂,因为它需要使用结构,但它基于相同的想法。