C++ 简单解决方案的输出不正确
共同力量问题373A- 在对数组进行排序后,我尝试检查给定的条件,而不是使用多个if语句来计算每个数字的元素数。我得到的第一个测试用例的输出不正确(在问题链接中给出)。我的方法有什么问题?我应该在解决方案中更改什么 我的解决方案:C++ 简单解决方案的输出不正确,c++,string,C++,String,共同力量问题373A- 在对数组进行排序后,我尝试检查给定的条件,而不是使用多个if语句来计算每个数字的元素数。我得到的第一个测试用例的输出不正确(在问题链接中给出)。我的方法有什么问题?我应该在解决方案中更改什么 我的解决方案: #include<iostream> #include<cstring> using namespace std; int k,i,j,a; char panel[17],temp,output[4]; int main() { c
#include<iostream>
#include<cstring>
using namespace std;
int k,i,j,a;
char panel[17],temp,output[4];
int main()
{
cin>>k;
for(i=0;i<16;i++)
cin>>panel[i];
for(i=0;i<16;i++) //Bubble sort.
{
for(j=0;j<(15-i);j++)
{
if(panel[j]>panel[j+1])
{
temp=panel[j+1];
panel[j+1]=panel[j];
panel[j]=temp;
}
}
}
a=1;
strcpy(output,"YES");
for(i=0;i<16;i++)
{
if(panel[i]==panel[i+1])
++a;
else
a=1;
if(a>(2*k));
{
strcpy(output,"NO");
break;
}
}
cout<<output;
}
#包括
#包括
使用名称空间std;
int k,i,j,a;
字符面板[17],温度,输出[4];
int main()
{
cin>>k;
对于(i=0;i>panel[i];
对于(i=0;i您在if
语句后有一个分号:
if(a>(2*k));
这意味着,它总是复制“否”并中断循环。将其删除。如果语句后面有一个分号:
if(a>(2*k));
这意味着,它总是复制“否”并打破循环。删除它