新人第一次求问
查看原帖
新人第一次求问
348849
dtyixin楼主2021/3/17 11:16
新手,我承认很弱,不会高级思考,只会暴力循环,实在也不清楚linux下跑代码的差别,除了知道换行符外,不知道下面这段为啥了,本地跑样例都能正确输出,在线ide跑,数值小了是错误,数值大了直接报错,运行时错误,也许是我语言基础不好吧,是循环多了还是怎么,求大佬解答
#include<cstdio>
#include<iostream>
#include<cstring>
#include<cctype>
using namespace std;
int count=0,n;
string vk="VK";
 int cmp(string s)
{  
	int add=0;
	for(int i=0;i<n;i++)
	    {
		  if(!memcmp(&s[i],&vk[0],2))
		  add++;
	    }
	    return add;
}
int main()
{   
   // freopen("test.txt","r",stdin);
	int max=0,sum;    
    cin>>n;
     getchar();
      string s,temp;
	    
        getline(cin,s); 
	     
		  count=cmp(s);
		  temp=s;	   
	    for(int i=0;i<n;i++)
	      {
	      	temp[i]='V';
			  sum=cmp(temp);
			  max=sum>max?sum:max; 
			  temp=s;
		  } 
		  
		  for(int i=0;i<n;i++)
	      {
	      	temp[i]='K';
			  sum=cmp(temp);
			  max=sum>max?sum:max; 
			  temp=s;
		  } 
		  max=count>max?count:max;
   	cout<<max;   	
    return 0;
 }
2021/3/17 11:16
加载中...