|
Введение в c++1.6 Массивы Теперь, напишем программу, которая подсчитает количество каждой цифры, пропусков (пробел, табуляция и знак новой строки) и остальных знаков. Это несколько искусственно, но позволяет проиллюстрировать несколько аспектов C в одной программе. У нас будет двенадцать категорий возможного ввода, поэтому имеет смысл использовать массив для содержания числа повторений той же цифры, вместо десяти отдельных переменных. Вот одна из возможных версий: # Include / * Подсчитывает цифры, пробелы и другие знаки * / main () { int c, i, nwhite, nother; int ndigit [10]; nwhite = nother = 0; for (i = 0; i <10; + + i) ndigit [i] = 0; while ((c = getchar ())! = EOF) if (c> = '0 '& & c <= '9') + + Ndigit [c-'0 ']; else if (c == '' | | c == '\ n' | | c == '\ t') + + Nwhite; else + + Nother; printf ("digits ="); for (i = 0; i <10; + + i) printf ("% d", ndigit [i]); printf ("white space =% d, other =% d \ n", nwhite, nother); } Вывод самой программы может выглядеть как digits = 9 3 0 0 0 0 0 0 0 1, white space = 123, other = 345 Объявления int ndigit [10]; описывает ndigit, как массив из 10-и целых. Индексация массивов всегда начинается с нуля в C, поэтому элементами будут ndigit [0], ndigit [1], ..., ndigit [9]. Это отражено в циклах for, которые инициализации и выводят массив. Индексом может быть любое выражение типа int, включая целочисленную переменную, вроде i, и целочисленные константы. Эта программа возлагается на символьное представление цифр. Так, например, проверка if (c> = '0 '& & c <= '9') определяет, символ, который находится в c является цифрой. Если да, числовым значением этой цифры будет c - '0 ' Продолжение статьи: ч.1 Продолжение статьи: ч.2 Продолжение статьи: ч.3 Продолжение статьи: ч.4 Продолжение статьи: ч.5 Продолжение статьи: ч.6 Продолжение статьи: ч.7 Продолжение статьи: ч.8 Продолжение статьи: ч.9 Продолжение статьи: ч.10 Продолжение статьи: ч.11 Продолжение статьи: ч.12 Продолжение статьи: ч.13 Продолжение статьи: ч.14 Продолжение статьи: ч.15 Продолжение статьи: ч.16 Продолжение статьи: ч.17 Продолжение статьи: ч.18 Продолжение статьи: ч.19 Продолжение статьи: ч.20 Продолжение статьи: ч.21 Продолжение статьи: ч.22 Продолжение статьи: ч.23 Продолжение статьи: ч.24 Другие статьи по теме: - Символьные массивы- Функции и структура программ - Типы, операторы и выражения - Внешние переменные и область действия - Введение в c++ |
|
2006-2024 © SMTI.RU Главная страница | Связаться с нами |