又迷路了 发表于 2024-12-30 21:37:42

虽然做出来了但实现顺序搞反了,哈哈,下面是我写的{:5_104:}
#include<stdio.h>
#define MAX 1024

int main()
{
        char original, ch, bv;
        int i = 0, j = 0, k, m = {0}, n = 1, v, temp = 0;
        printf("请输入分割符:");
        scanf("%c", &bv);
        getchar();
        printf("请输入一个英文句子:");
        while(1){
                ch = getchar();
                if(ch == bv || ch == '\n'){
                        if(i != j){
                                j = i;
                                m = j;
                        }
                        if(ch == '\n'){
                                break;
                        }
                        continue;
                }
                original = ch;
                i++;
       
        }
        n--;
        original = '\0';
        for(k = 0; k < n; k++){
                temp = (m - m) > temp ? (m - m) : temp;
        }
        temp += 1;
        printf("分割结果已存放到result[%d][%d]的二维数组中...\n", n, temp);
        char result;
        k = 0;
        for(i = 0; i < n; i++){
                for(v = 0, j = m; j < m; j++){
                        result = original;
                        v++;
                }
                result = '\0';
                k++;
        }
        printf("现在依次打印每个单词:\n");
        for(i = 0; i < n; i++){
                printf("%s\n", &result);
        }
        return 0;
}

又迷路了 发表于 2024-12-31 01:09:18

又迷路了 发表于 2024-12-30 21:37
虽然做出来了但实现顺序搞反了,哈哈,下面是我写的
#include
#define MAX 1024


换了个逻辑,这次对了{:5_97:}
#include<stdio.h>
#define MAX 1024

int main()
{
        char original, ch;
        int i = 0, j = 0, k, n = 0, temp = 0;
        _Bool x = 0, y = 0;
        printf("请输入一个英文句子:");

        while((original = getchar()) != '\n'){
                i++;
        }
        original = '\0';
        printf("请输入分隔符:");
        scanf("%c", &ch);
        getchar();
        i = 0;
        while(original == ch){
                i++;
        }
        while(original != '\0'){
                if(original != ch){
                        j++;
                        x = 1;
                }
                if(original == ch || original == '\0'){
                        temp = j > temp ? j : temp;
                        j = 0;
                        y = 1;
                }
                if(x && y){
                       
                        n += 1;
                        x = 0;
                        y = 0;
                       
                }
                i++;
        }
        temp++;
        printf("分割结果已存放到result[%d][%d]的二维数组中...\n", n, temp);
        char result;
        k = 0;
        for(i = 0; i < n; i++){
                for(j = 0; j < temp; j++){
                        if(original == ch){
                                while(original == ch){
                                        k++;
                                }
                                break;
                        }
                        result = original;
                        k++;
                }
                result = '\0';
        }
        printf("现在依次打印每个单词:\n");
        for(i = 0; i < n; i++){
                printf("%s\n", &result);
        }
        return 0;
}
页: 1 2 [3]
查看完整版本: S1E26:指向指针的指针