Дана строка, содержащая буквы и цифры. Превратите эту строку так, чтобы сначала в нем было расположено все цифры, а затем - все буквы заданной строки. например:
ad2e7b5 2756adeb
Другие языки программирования и технологии
помогите очень надо написать прогу на си
Здравствуйте.
Хотелось бы хоть раз увидеть и вашу попытку что-либо написать. Вы пытаетесь хоть что-нибудь делать самостоятельно?
Как бы то ни было, в данном случае можно воспользоваться простейшей пузырьковой сортировкой:
#include <ctype.h>
#include <stdio.h>
#include <string.h>
main() {
int c, l, o;
char s[99];
printf("string? ");
fgets(s, 99, stdin);
l = strlen(s);
do {
o = 0;
for (c = 1; c < l; ++c) {
if ((!isdigit(s[c - 1]) && isdigit(s[c])) ||
(!isalnum(s[c - 1]) && isalnum(s[c]))) {
char t = s[c - 1];
s[c - 1] = s[c];
s[c] = t;
o = 1;
}
}
--l;
} while (o);
printf("result: %s", s);
}
Программа переносит цифры в начало, за ними идут буквы, а потом все остальные символы. Порядок следования в группах символов сохраняется.
Хотелось бы хоть раз увидеть и вашу попытку что-либо написать. Вы пытаетесь хоть что-нибудь делать самостоятельно?
Как бы то ни было, в данном случае можно воспользоваться простейшей пузырьковой сортировкой:
#include <ctype.h>
#include <stdio.h>
#include <string.h>
main() {
int c, l, o;
char s[99];
printf("string? ");
fgets(s, 99, stdin);
l = strlen(s);
do {
o = 0;
for (c = 1; c < l; ++c) {
if ((!isdigit(s[c - 1]) && isdigit(s[c])) ||
(!isalnum(s[c - 1]) && isalnum(s[c]))) {
char t = s[c - 1];
s[c - 1] = s[c];
s[c] = t;
o = 1;
}
}
--l;
} while (o);
printf("result: %s", s);
}
Программа переносит цифры в начало, за ними идут буквы, а потом все остальные символы. Порядок следования в группах символов сохраняется.
используй функцию copy()
Перебираете символы, переносите буквы в одну строчку, цифры - в другую. Потом склеиваете.
Похожие вопросы
- Помогите плиз, написать прогу на Си++! Срочно очень нужно!
- Нужна срочно помощь. Помогите мне написать прогу на СИ, плиииз!!!
- написал прогу на си с использованием рандома. всё работает, но всегда выводятся одни и те же числа.
- напишите проги в ПАСКАЛЕ плиз!!!очень надо.
- Программирование на Си. нужно написать прогу
- Помогите написать прогу на Паскале, экзамен горит, очень нужно..
- «Помогите пожалуйста! Очень надо!! ! Нужно написать на языке Си (именно на СИ) . Заранее СПАСИБО!!!»
- Помогите написать прогу!!!
- Помогите написать прогу на паскале
- СРОЧНО ! Напишите прогу на Паскале