Uva455 Periodic Strings Compilation error问题

发布于 2022-09-06 06:54:40 字数 1126 浏览 13 评论 0

求教为什么一直是Compilation error?
OJ: https://vjudge.net/problem/UV...
clipboard.png

#include <iostream>
#include <cstring>
#include <string>
#define maxn 85
using namespace std;
int main(){
    int n,flag,j;
    char a[maxn];
    cin>>n;
    getchar();
    while(n--){
        memset(a,' ',sizeof(a));
        cin>>a;
        for(int i=1;i<strlen(a);i++){
            flag=0;
            if(strlen(a)%i==0){
                flag=1;
                for(j=0;i+j<strlen(a);j++){
                    if(a[j]!=a[i+j]){
                        flag=0;
                        break;
                    }
                }
                if(flag){
                    cout<<i<<endl;
                    break;
                }
            }
        }
        if(!flag) cout<<strlen(a)<<endl;
        if(n) cout<<endl;    
    }
    return 0;
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

天涯沦落人 2022-09-13 06:54:40

解决了,已AC。

#include <iostream>
#include <cstring>
#define maxn 85
using namespace std;
int main(){
    int n,flag;
    char a[maxn];
    cin>>n;
    while(n--){
        cin>>a;
        for(int i=1;i<=strlen(a);i++){
            if(strlen(a)%i==0){
                flag=1;
                for(int j=i;j<strlen(a);j++){
                    if(a[j]!=a[j%i]){
                        flag=0;
                        break;
                    }
                }
                if(flag){
                    cout<<i<<endl;
                    if(n) cout<<endl;
                    break;
                }
            }
        }
    }
    return 0;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文