27 янв 2020 conf :
Керниган и Ритчи - Упражнение 1.13
Напишите программу, печатающую гистограммы длин вводимых слов. Гистограмму легко рисовать горизонтальными полосами. Рисование вертикальными полосами - более трудная задача.
#include <stdio.h>
int main (int argc, char *argv[]) {
int digits[10] = {0};
int max_value = 0;
int c; /* for input */
while ((c = getchar()) != EOF) {
++digits[c - '0'];
}
for (int i = 0; i < 10; i++) {
if (max_value < digits[i]) {
max_value = digits[i];
}
}
while (max_value > 0) {
for (int i = 0; i < 10; i++) {
if (max_value == digits[i]) {
printf("*");
--digits[i];
}
else {
printf(" ");
}
}
printf("\n");
--max_value;
}
for (int i = 0; i < 10; i++) {
printf("%i", i);
}
printf("\n");
return 0;
}
ввод:123456789023456789034567890456789056789067890789089090
вывод:* *
* **
* ***
* ****
* *****
* ******
* *******
* ********
**********
0123456789
7 | 0 | 1 | 0 |
Пред. |
Для добавления комментариев необходимо авторизоваться