Closed. This question needs details or clarity。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
                        
                        2年前关闭。
                                                                                            
                
        
有人可以告诉我我在做什么错吗?

问题陈述:
https://practice.geeksforgeeks.org/problems/good-or-bad-string/0

我的代码:

#include <stdio.h>
#include<string.h>
int is_vowel(char a) {
    if(a==97||a==101||a==105||a==111||a==117){
        return(1);
    }
    return(0);
}
int main() {
    //code
    int t,i;
    scanf("%d",&t);
    for(i=0;i<t;i++){
        char str[100];
        scanf("%s",str);
        printf("%s",str);
        int c_cnsnt=0;
        int c_vwl=0;
        int g_b=1;//suppose good
        for(int j=0;j<strlen(str);j++){
            //("%c",str[j]);
            int num=is_vowel(str[j]);
            printf("Debug %c %d %d\n",str[j],num,strlen(str));
            if(is_vowel(str[j])) {
                c_vwl++;
            }
            else { c_cnsnt++;}
            if(c_vwl==c_cnsnt){
                c_cnsnt=0;
                c_vwl=0;
            }
            else {
                if(c_vwl>5||c_cnsnt>=3){
                    g_b=0;
                    break;
                }
            }

        }
        printf("%d\n",g_b);
    }

    return 0;
}


样品

输入:

2
aeioup??
bcdaeiou??


输出:

1
0


我的解决方案链接:

https://code.hackerearth.com/9bca55K

为什么for循环不适用于第二个字符串?

最佳答案

提示:您必须先增加辅音和元音的计数(例如{c_vwl++;c_cnsnt=0;}),而不是相等后才清除它们,并且始终测试您的不良状况。

我不会给您示例代码。祝好运

关于c - C-无法向前遍历第二个字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47691628/

10-11 22:39