Напечатать заданное не пустое предложение, удалив из него все цифры и удвоив знаки '+' и '-' - C (СИ)
Формулировка задачи:
Напечатать заданное не пустое предложение, удалив из него все цифры и удвоив знаки '+' и '-';
Решение задачи: «Напечатать заданное не пустое предложение, удалив из него все цифры и удвоив знаки '+' и '-'»
textual
Листинг программы
#include <stdio.h>
#include <string.h>
main()
{
char s[200],c;
int i,asc;
puts("Enter string: ");
gets(s);
i=0;
while(i<strlen(s))
{
c=s[i];
asc=c;
if(asc>=48&&asc<=57){}
else
{
switch(asc)
{
case 45: printf("--");
break;
case 43: printf("++");
break;
default: printf("%c",c);
break;
}
}
i++;
}
}
Объяснение кода листинга программы
В этом коде пользователь вводит строку, и программа её печатает, удаляя все цифры и удваивая знаки '+' и '-'. Вот список действий, которые происходят в коде:
- Ввод строки с помощью функции
gets(). - Инициализация счётчика
iравным 0. - В цикле
whileпроисходит следующее:- Буква
cсохраняется в переменнойc. - Значение
ascустанавливается равнымc. - Если
ascявляется числом (от 48 до 57), то происходит следующее: - В зависимости от значения
asc, выводится либо двойной знак '+', либо двойной знак '-', либо сама буква. - Если
ascне является числом, то выводится сама буква. iувеличивается на 1.
- Буква
- Программа завершается.