扫描问题( "%s" )
Issue with scanf("%s")
include <iostream>
#include <stdio.h>
using namespace std;
int main() {
int n;
scanf("%d",&n);
int l,k;
for(int i=0;i<n;i++)
{
scanf("%d %d",&l,&k);
char ch[l+1];
/****/ scanf("%s",ch);
printf("Are we here");
char ci=ch[0];
int flips=0;
int count=0;
for(int j=0;j<l;j++)
{
if(ch[j]==ci)
{
count++;
if(count>k)
{
flips++;
count=1;
if(ci=='1')
{
ci='0';
ch[j]='0';
}
else if(ci=='0')
{
ci='1';
ch[j]='1';
}
}
}
else if(ch[j]!=ci)
{
if(ci=='1')
ci='0';
else if(ci=='0')
ci='1';
count=1;
}
}
printf("n%d",flips);
printf("n%s",ch);
}
return 0;
}
有3个测试用例的输入,每个测试用例有两行输入。
3
2 1
11
2 2
11
4 1
1001
应该给出输出
1
10
0
11
2
1010
这基本上是一个代码做一些标准的编程比赛的东西。它接受测试用例的数量,并且对于每个测试用例,用两行打印出所需的答案。现在,当我逐行输入所有输入时,它工作得很好,并且我得到了所有输出。但是当我把所有的输入复制粘贴在一起的时候,除了最后的输出,我只能得到所有的东西,我必须按回车键才能得到最后的输出。现在我做了一些基本的调试,发现它与scanf("%s",ch)
行代码有关。任何帮助。而且我觉得节目的逻辑并不重要。
我认为"rn"在复制粘贴文本时没有被复制
相关文章:
- 警告处理为错误这里有什么问题
- 最小硬币更换问题(自上而下方法)
- 为"adjacent"变量赋值时出现问题
- 我的神经网络不起作用 [XOR 问题]
- 在Ubuntu 16.04上安装Cilk时出现问题
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 编译包含字符串的代码时遇到问题
- Project Euler问题4的错误解决方案
- 问题:什么是QAbstractItemView::NoEditTriggers的反面
- 在编译C++代码(具有dlib和opencv)到WASM时面临问题
- 在进程中对同一管道进行读取和写入时C++管道出现问题
- 静态数据成员的问题-修复链接错误会导致编译器错误
- C++ 雷神库 - 使用资源加载器类时出现问题(不命名类型)
- 一个关于在C++中重载布尔运算符的问题
- 首要问题的答案让值班员搞错了
- setlocale的C++土耳其字符串问题
- C++:OpenCV扫描图像的性能问题
- Linux 键盘扫描码问题:例如,向上箭头给出 ^[[A.
- 排序和扫描对报告中的性能问题
- 扫描问题( "%s" )