2013-10-10 2 views
0

Я создал программу и генерировать код нижеКак создать гистограмму в с

#include <stdio.h> 
int main(){  
int a,i;  
scanf("%d",&a); 
while(a!=-1){ 
if(a>=0 && a<=80){ 
for(i=a;i<=a;i++) 
printf("|"); 
printf("%d\n"); 
scanf("%d",&a); 
}   
} 

с входным сигналом 1 3 4 4 5 5 -1, она должна быть отображать гистограмму, как

|

| | |

| | | |

| | | |

| | | | |

| | | | |

но в этих кодах, дисплей |

|

|

|

|

|

Может кто-нибудь объяснить, почему его не работает?

ответ

2
for(i=a;i<=a;i++) 
    ^maybe you want 0 here? 

printf("%d\n"); также выглядит так, %d является формиат строки используется для печати значения int. Чтобы напечатать просто символ новой строки, это должно быть просто printf("\n");

+1

'printf ("% d \ n ");' также выглядит неправильно –

+0

Вы правы, это работает. Но могу ли я добавить туда какое-нибудь количество? почему это необходимо? –

+0

Учитывая, что вы хотите, чтобы он выглядел выше, я думаю, вы просто хотите printf ("\ n"); –

Смежные вопросы