Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- void change(char *, char *);
- void numeng(char *, char *, char *);
- int cmp(const void *a, const void *b);
- #define LENGTH 1000
- typedef char *CharPtr;
- int main()
- {
- int i, n, len_num = 0, len_eng = 0, len_str = 0, key = 1;
- char str1[LENGTH] = {}, str[LENGTH] = {}, str_num[LENGTH] = {}, str_eng[LENGTH] = {};
- while(gets(str1) != NULL) {
- if(key != 1)
- printf("\n");
- key = 0;
- change(str1, str);
- printf("%s", str);
- printf("\n");
- numeng(str, str_num, str_eng);
- printf("%s", str_num);
- printf("%s\n", str_eng);
- len_num = strlen(str_num);
- len_eng = strlen(str_eng);
- //printf("str:%d num:%d eng:%d", len_str, len_num, len_eng);
- for(i = 0; i < len_eng; i++) {
- printf("%c", str_eng[i]);
- }
- for(i = 0; i < len_num; i++) {
- printf("%c", str_num[i]);
- }
- printf("\n");
- len_str = strlen(str);
- qsort(str, len_str, sizeof(char), cmp);
- printf("%s\n", str);
- for(i = len_num - 1; i >= 0; i--) {
- printf("%c", str[i]);
- }
- for(i = len_str - 1; i >= len_num; i--) {
- printf("%c", str[i]);
- }
- printf("\n");
- for(i = len_num - 1; i >= 0; i--) {
- printf("%c", str[i]);
- }
- for(i = len_num; i < len_str; i++) {
- printf("%c", str[i]);
- }
- printf("\n");
- for(i = 0; i < len_num; i++) {
- printf("%c", str[i]);
- }
- for(i = 0; i < len_eng; i++) {
- printf("%c", str_eng[i]);
- }
- printf("\n");
- for(i = len_num; i < len_str; i++) {
- printf("%c", str[i]);
- }
- for(i = 0; i < len_num; i++) {
- printf("%c", str_num[i]);
- }
- printf("\n");
- }
- return 0;
- }
- void change(char *str1, char *str)
- {
- int i, j = 0;
- i = 0;
- while(str1[i] != '\0') {
- if((str1[i] >= 'A' && str1[i] <= 'Z') || (str1[i] >= '0' && str1[i] <= '9') || (str1[i] >= 'a' && str1[i] <= 'z')) {
- if(str1[i] >= 'A' && str1[i] <= 'Z') {
- str[j] = str1[i] + 32;
- }
- else {
- str[j] = str1[i];
- }
- j++;
- }
- i++;
- }
- str[j] = '\0';
- return;
- }
- void numeng(char *str, char *str_num, char *str_eng)
- {
- int i, j = 0;
- i = 0;
- while(str[i] != '\0') {
- if(str[i] >= '0' && str[i] <= '9') {
- str_num[j] = str[i];
- j++;
- }
- i++;
- }
- str_num[j] = '\0';
- j = 0;
- i = 0;
- while(str[i] != '\0') {
- if(str[i] >= 'a' && str[i] <= 'z') {
- str_eng[j] = str[i];
- j++;
- }
- i++;
- }
- str_eng[j] = '\0';
- return;
- }
- int cmp(const void *a, const void *b)
- {
- return (*(char *)(a)) - *(char *)b;
- }
Add Comment
Please, Sign In to add comment