Решения (задачи 160-179)
Задача 172.
// Удаление начальных пробелов из строки #include <stdio.h> #include <conio.h> pinclude "string.h" void main () { unsigned char sst[80]; // строка unsigned char dst[80]; // буфер int i,j; printf("Удаление начальных пробелов\п"); printf("Введите строку:"); i=0; while ((sst[i] -getch())!= 13) putch(sst [i-sstti] = '\0'; i = 0; j = 0; // найдем первый символ, отличный от пробела while(sst[i] && sst[i] == ' ') // здесь i – номер первого символа, отличного от пробела, // скопируем sst в le (sst[i]) dst [j++] = sst dst[j] = '\0'; printf("Хп Строка без начальных пробелов:%s\n", dst); printf("Хп Для завершения нажмите Enter"); getch();
Задача 173.
// Проверяет, является ли строка целым числом #include <stdio.h> #include <conio.h> void main() char st[40]; // строка int i; // номер проверяемого символа printf("Введите целое число и нажмите Enter"); printf(" › "), scanf ("%s",&st); i = 0; while (st[i] >= '0' && st[i] <= '9') // здесь st[i] '\0', если введены только printf("Введенная строка "); if (st[i]) printf("не "); printf("является целым числом.\п"); printf("\п Для завершения нажмите Enter"); getch();
Задача 175.
// Проверяет, является ли введенная строка шестнадцатеричным числом #include <stdio.h> #include <conio.h> *,#include "string.h" void main () char st[20]; // строка int i; // номер проверяемого символа printf("Хп Введите шестнадцатеричное число › "); scanf("%s", Sst); strupr(st); // преобразуем к верхнему регистру i = 0; while ((st[i] >= '0' && st[i] <= '9') || (st[i] >= 'A' && st[i] <= 'F')) printf("Строка "); // если st[i]!= '\0\ // то i – номер первого ошибочного символа if (st[i]) printf("не "); printf("является шестнадцатеричным числом.\п"); printf("\п Дпя завершения нажмите Enter"); getch();
Задача 176.
// Проверяет, является ли строка дробным числом без знака #include <stdio.h> #include <conio.h>:void main() char st[20]; // строка int i; // номер проверяемого символа int ok = 0; // пусть строка – не дробное число ntf("Введите дробное число и нажмите Enter"); printf(" › "); scanf("%s", &st); i = 0; if (st[i] >= 4' && st[i] <='9') // первый символ – цифра i i //за цифрой могут быть еще цифры while (st[i] >='l' && st[i] <='9') i++; //за цифрами должна быть точка if (st[i] – '. ') //за точкой должна быть хотя бы одна цифра if (st[i] >='!' && st[i] <='9') //и еще цифры while (st[i] >= nl' && st[i] <='9') i++; ok = 1; // похоже строка – дробное число printf("Строка %s ",st); if (st[i] ||!ok) printf("не "); printf("является дробным числом без знака.\n"); printf("\п Для завершения нажмите Enter"); getch();