不知如何修改,错哪啦,求解

img

你题目的解答代码如下:

#include <stdio.h>
#include <iostream>
using namespace std;
#include <string.h>//strlen
bool IS(char arr[], int left, int right) {
    int up[26] = { 0 };
    int low[26] = { 0 };
    for (int i = left; i < right; i++) {
        if (arr[i] >= 'a'&&arr[i] <= 'z') {
            low[arr[i] - 'a'] = 1;
        }
        else { up[arr[i] - 'A'] = 1; }
    }
    for (int i = 0; i < 26; i++) {
        if (up[i]+low[i] == 1) return false;  //修改
    }
    return true;  //修改
}
int main() {
    char s[100];
    scanf_s("%s", s,100);  //修改
    int n = strlen(s);
    int left = 0, right = 0, count = 0;
    for (int i = 0; i < n - 1; i++) {
        for (int j = i + 1; j < n; j++) {
            if (IS(s, i, j) == true && j - i > count) {  //修改
                left = i;
                count = j - i;   //修改
            }
        }
    }
    char *p;
    p = (char*)malloc((count + 1)*(sizeof(char)));
    int i = 0;
    for (i; i < count; i++) {
        p[i] = s[left];
        left++;
    }
    p[i] = '\0';
    printf("%s", p);
    return 0;
}

img

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

兄弟,问问题至少先学会问问题嘛
不放题目
不放报错内容
这怎么给你看

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632