2014-09-21 134 views
-4

我的任務是編寫一個C程序,該程序從用戶處獲取4個數字,並垂直打印出相應的直方圖(彼此相鄰的列)。C中的垂直直方圖

示例: A = 5 B = 3 C = 1 d = 0

輸出:

x 
x  
xx 
xx 
xxx 
ABCD 

我不允許使用陣列或任何simpleio之外。

我理解我需要考慮行,而不是列,並且我的出發點應該是數量最高的行,並且一旦啓動,它就會不斷打印。

除此之外,我只是尋找某種起點或暗示如何正確地考慮這一點。任何幫助是極大的讚賞。謝謝!

+3

告訴我們你做了什麼因爲沒有人會做你的功課,你的輸出不會做敏感?!!! – 2014-09-21 06:09:48

+2

'simpleio'以外是什麼意思?什麼是'simpleio'?任何想法爲什麼你不允許使用數組,因爲數組會使工作變得更容易。 – 2014-09-21 06:11:57

+0

對不起。 Simpleio是一個庫,我將使用它的唯一方法是從用戶獲取一個整數。喬納森,我不能使用它們。因爲在這一點上,數組在這個類中還沒有被覆蓋。 – mrybak834 2014-09-21 06:15:33

回答

0
#include <stdio.h> 

#define print(VAR) (i<=VAR ? 'x' : ' ') 

int main(void){ 
    int A=5, B=3, C=1, D=0; 
    int MAX = 5;//int MAX=0;scanf("%d", &A); if(A>MAX) MAX=A;... 
    int i; 
    for(i=MAX;i>0;i--) 
     printf("%c%c%c%c\n", print(A), print(B), print(C), print(D)); 
    printf("ABCD\n"); 
    return 0; 
}