1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
|
#include <stdio.h> #include <stdlib.h> #include <time.h> #define N 20
int a[N];
void gen_random(int upper_bound) { srand(time(NULL)); //自行制定初值,time(2)表示当前系统时间距1970年1月1日00:00:00的秒数 int i; for(i = 0;i < N;i++) a[i] = rand() % upper_bound; }
int howmany(int value) { int count = 0,i; for(i = 0;i < N;i++) if(a[i] == value) ++count; return count; }
int main(void) { int i,j,histogram[10]={0};
gen_random(10); for(i = 0;i < N;i++){ histogram[a[i]]++; // histogram[i] = howmany(i); // printf("%dn",histogram[i]); } // for(i = 0;i < 10;i++) // printf("%dn",histogram[i]); //水平打印 printf("水平方向:n"); for(i = 0;i < 10;i++){ printf("%d ",i); for(j = 0;j < histogram[i];j++) printf("* "); printf("n"); } /*方法一 //垂直打印 printf("n垂直方向:n"); int max=0; for(i = 0; i < 10;i++){ max = (max > histogram[i]) ? max : histogram[i]; printf("%d ",i); } printf("nn"); for(i = 0;i < max;i++){ for(j = 0;j < 10;j++){ if(histogram[j] > 0){ printf("* "); --histogram[j]; } else printf(" "); } printf("n"); } */ //方法二 printf("n垂直打印:n"); int k,l; for(j = 0;j< 10;j++) printf("%d ",j); printf("n"); for(l = 0;l<N;l++){ for(k = 0;k < 10;k++){ if(histogram[k]>0){ printf("* "); histogram[k]--; } else{ printf(" "); } } printf("n"); }; printf("n");
return 0; }
|
近期评论