Консультация # 198424: Уважаемые эксперты! Пожалуйста, ответьте на вопрос: Тоже на языке С составить программу: Дан текст. Определить, является ли он правильной десятичной записью целого числа. ...
Уважаемые эксперты! Пожалуйста, ответьте на вопрос: Тоже на языке С составить программу: Дан текст. Определить, является ли он правильной десятичной записью целого числа.
#include <stdio.h>
int main()
{
char str[101];
int i=0;
printf("Введите десятичное целое число: ");
scanf("%100s",str);
/* цикл по символам введенной строки */
while(str[i])
{
switch(str[i])
{
case '-':
/* знак минус допустим только первым и не единственным символом */
if( ! (i==0 && str[1]) )
{
printf("Error");
return 1;
}
break;
case '0':
/* Знак 0 допустим только единственным символом, либо после другой цифры */
if( i==0)
{
if(str[1])
{
printf("Ошибка ввода.");
return 1;
}
}
else
{
if(str[i-1]=='-')
{
printf("Ошибка ввода.");
return 1;
}
}
break;
default:
/* В остальных случаях допустима только цифра */
if(str[i]<'0' || str[i]>'9')
{
printf("Ошибка ввода.");
return 1;
}
break;
}
i++;
}
printf("Верная запись целого числа.");
return 0;
}
Консультировал: var (6-й класс)
Дата отправки: 30.04.2020, 15:45
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались.
Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора -
для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение.
Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал,
который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом.
Заходите - у нас интересно!