Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
输入文本并按字母顺序排序 #包括 #包括 #包括 int main(){ char-str1[100]; char-str2[100]; char-str3[100]; 整数计数,tmp; int i,j=0,k=0; scanf(“%s”,str1); 计数=strlen(str1); 对于(i=0;i_C - Fatal编程技术网

输入文本并按字母顺序排序 #包括 #包括 #包括 int main(){ char-str1[100]; char-str2[100]; char-str3[100]; 整数计数,tmp; int i,j=0,k=0; scanf(“%s”,str1); 计数=strlen(str1); 对于(i=0;i

输入文本并按字母顺序排序 #包括 #包括 #包括 int main(){ char-str1[100]; char-str2[100]; char-str3[100]; 整数计数,tmp; int i,j=0,k=0; scanf(“%s”,str1); 计数=strlen(str1); 对于(i=0;i,c,C,我认为问题在于: #include <stdio.h> #include <string.h> #include <ctype.h> int main() { char str1[100]; char str2[100]; char str3[100]; int count, tmp; int i, j=0, k=0; scanf("%s", str1); count=strlen(str1);

我认为问题在于:

#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main() {
    char str1[100];
    char str2[100];
    char str3[100];
    int count, tmp;
    int i, j=0, k=0;
    scanf("%s", str1);
    count=strlen(str1);
    for(i=0; i<count; i++) {
        if(islower(str1[i])) {
            str2[j]=str1[i];
            j++;
        }
        else if(isupper(str1[i])) {
            str3[k]=str1[i];
            k++;
        }
    }
    str2[j]='\0';
    str3[k]='\0';
    for(i=0; i<strlen(str2); i++) {
        for(j=0; j<i; j++) {
            if(str2[j]>str2[j+1]) {
                tmp=str2[j];
                str2[j]=str2[j+1];
                str2[j+1]=tmp;
            }
        }
    }
    for(i=0; i<strlen(str3); i++) {
        for(j=0; j<i; j++) {
            if(str3[j]>str3[j+1]) {
                tmp=str3[j];
                str3[j]=str3[j+1];
                str3[j+1]=tmp;
            }
        }
    }
    printf("lowercase alignment : %s\n", str2);
    printf("uppercase alignment : %s", str3);
    return 0;
}

下一步要做的是将排序逻辑移到它自己的函数中,并对每个要排序的字符串调用该函数,而不是在
main()

的主体中重复代码两次。我相信问题在于:

#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main() {
    char str1[100];
    char str2[100];
    char str3[100];
    int count, tmp;
    int i, j=0, k=0;
    scanf("%s", str1);
    count=strlen(str1);
    for(i=0; i<count; i++) {
        if(islower(str1[i])) {
            str2[j]=str1[i];
            j++;
        }
        else if(isupper(str1[i])) {
            str3[k]=str1[i];
            k++;
        }
    }
    str2[j]='\0';
    str3[k]='\0';
    for(i=0; i<strlen(str2); i++) {
        for(j=0; j<i; j++) {
            if(str2[j]>str2[j+1]) {
                tmp=str2[j];
                str2[j]=str2[j+1];
                str2[j+1]=tmp;
            }
        }
    }
    for(i=0; i<strlen(str3); i++) {
        for(j=0; j<i; j++) {
            if(str3[j]>str3[j+1]) {
                tmp=str3[j];
                str3[j]=str3[j+1];
                str3[j+1]=tmp;
            }
        }
    }
    printf("lowercase alignment : %s\n", str2);
    printf("uppercase alignment : %s", str3);
    return 0;
}

下一步要做的事情是将排序逻辑移到它自己的函数中,并对每个要排序的字符串调用该函数,而不是在
main()

的主体中重复代码两次。错误是什么?生成错误的输入字符串是什么?如果输入“amoiAFER”输出小写对齐方式:amio,大写对齐方式:AEFR有哪些错误以及生成这些错误的输入字符串是什么?如果输入“amoiAFER”,输出小写对齐方式:amio,大写对齐方式:AEFR
for (i = 0; i < strlen(str2); i++) {
    for (j = 0; j < strlen(str2) - 1; j++) {
#include <stdio.h>
#include <string.h>
#include <ctype.h>

int main() {
    char mixedcase[100];
    char lowercase[100];
    char uppercase[100];

    scanf("%s", mixedcase);
    size_t length = strlen(mixedcase);

    int l = 0, u = 0;

    for (int i = 0; i < length; i++) {
        char c = mixedcase[i];

        if (isalpha(c)) {
            if (islower(c)) {
                lowercase[l++] = mixedcase[i];
            } else {
                uppercase[u++] = mixedcase[i];
            }
        }
    }

    lowercase[l] = '\0';
    uppercase[u] = '\0';

    length = strlen(lowercase);

    for (int i = 0; i < length; i++) {
        for (int j = 0; j < length - 1; j++) {
            if (lowercase[j] > lowercase[j+1]) {
                char tmp = lowercase[j];
                lowercase[j] = lowercase[j+1];
                lowercase[j+1] = tmp;
            }
        }
    }

    length = strlen(uppercase);

    for (int i = 0; i < length; i++) {
        for (int j = 0; j < length - 1; j++) {
            if (uppercase[j] > uppercase[j+1]) {
                char tmp = uppercase[j];
                uppercase[j] = uppercase[j+1];
                uppercase[j+1] = tmp;
            }
        }
    }

    printf("Lowercase alignment: %s\n", lowercase);
    printf("Uppercase alignment: %s\n", uppercase);

    return 0;
}