Введите строку. Преобразуйте строку таким образом, чтобы после каждой цифры стояли три символа «!!!». Выведите преобразованную строку на экран.
строку на экран.
C/C++
НАПИШИТЕ ПОЖАЛУЙСТА ПРОГРАММУ НА СИ
Код под Visual Studio
#include
#include
#include
#include
#define BUFFER 0x400
void insert_after_digits(char* dest, const char* src) {
char tmp[BUFFER] = { 0 };
size_t i = 0;
size_t j = 0;
size_t length = strlen(src);
while (dest[i]) {
tmp[j] = dest[i];
tmp[++j] = 0;
if (isdigit(dest[i])) {
strcat_s(tmp, BUFFER, src);
j += length;
tmp[j] = 0;
}
++i;
}
strcpy_s(dest, BUFFER, tmp);
}
int main(void) {
char line[BUFFER];
const char* src = "!!!";
printf(">>> ");
gets_s(line, BUFFER);
insert_after_digits(line, src);
printf("
#include
#include
int main()
{
const int first = 1000;
const int second = first * 4;
char s[second],tmp[second];
int i,j;
fgets(s,first,stdin);
for(i = 0, j = 0; s[i]; i++)
{
if(isdigit(s[i]))
{
tmp[j++] = s[i];
for(int k = 0; k < 3; k++, j++)
tmp[j] = '!';
tmp[j] = '\0';
}
else
{
tmp[j++] = s[i];
}
}
tmp[j] = '\0';
for(i = 0; i < j; i++)
s[i] = tmp[i];
s[i] = '\0';
printf("%s",s);
return 0;
}
Алексей Ефремов
Ты где пропал? у меня новый вопрос
#include
#include
#include
#define BUFFER_SIZE 512
int main()
{
int i;
char buffer[BUFFER_SIZE];
if (fgets(buffer, BUFFER_SIZE, stdin)) {
for (i = 0; i < strlen(buffer); i++) {
putchar(buffer[i]);
if (isdigit(buffer[i]))
printf("!!!");
}
}
return 0;
}
// one 2 three 4 5
// one 2!!! three 4!!! 5!!!
Похожие вопросы
- СРОЧНО Напишите пожалуйста программу на Си
- Напишите пожалуйста программу на СИ, массив стат или динам
- СРОЧНО Напишите пожалуйста программу на Си
- Напишите пожалуйста программу на Си
- НАПИШИТЕ ПОЖАЛУЙСТА ПРОГРАММУ НА СИ
- Помогите пожалуйста написать программу на Си
- Написать программы на СИ
- Работа со структурами. Написать программу для СИ
- Помогите написать программу на СИ
- Написать программу на Си, помогите!!!