На что хочу обратить ваше внимание:
1) getchar вводит с буферизацией. Это значит, что сначала ваш ввод накапливается, можете его бэкспейсом редактировать. А в программу он попадет только, когда enter нажмете.
2) Функция isdigit проверяет, а не цифра ли указанный символ. Работает во всех кодировках, даже в тех, где цифры идут не подряд, если эта кодировка выставлена как системная, разумеется.
3) Пожалуйста, не надо тупо копировать мой пример, пишите сами.
4) Точно работает под gentoo linux
#include <strings.h> #include <stdio.h> int main (int argc, char** argv) { int prev = getchar(), tec = getchar(); if (prev == '\n') return 0; int csl; char str[2]={0, 0}; for (csl=0; tec != '\n'; prev=tec, tec=getchar()){ if (!csl && prev == '0' && isdigit(tec)){ continue; csl = 0; } csl=isdigit((char)prev)||(char)prev=='.'; putchar (prev); } putchar (prev); return 0; }
Отредактировано DiMan (2006-09-14 23:32:48)