c-立即重复字符查找程序



我的程序是找出输入中是否有任何字符立即重复。例如

输入::

5

RRRRR-

预期输出::

4

作为R重复4次

但给定的输出是2

我试过两个不同的程序。但产出似乎是一样的。

首次尝试的程序

#include<stdio.h>
int main()
{
char input[51];
int n, i, count=0;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%c",&input[i]);
}
for(i=1;i<n;i++)
{
if(input[i]==input[i-1])
count++;
}
printf("%dn",count);
}

第二次尝试程序

#include<stdio.h>
int main()
{
char a, b;
int n, i, count=0;
scanf("%d",&n);
scanf("%c",&a);
for(i=1;i<n;i++)
{
scanf("%c",&b);
if(a==b)
count++;
else
a=b;
}
printf("%dn",count);
}

这里n是要输入的字符数。有人能帮我找出哪里出了问题吗?

我得到了它,每当我们使用scanf并在最后一次输入时,我们都使用"ENTER">,但第二个scanf中的"%c"将其作为输入。因此,在上一个问题中,我的程序应该第一个程序

#include<stdio.h>
int main()
{
char input[51];
int n, i, count=0;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf(" %c",&input[i]);
}
for(i=1;i<n;i++)
{
if(input[i]==input[i-1])
count++;
}
printf("%dn",count);
}

第二个程序

#include<stdio.h>
int main()
{
char a, b;
int n, i, count=0;
scanf("%d",&n);
scanf(" %c",&a);
for(i=1;i<n;i++)
{
scanf(" %c",&b);
if(a==b)
{
count++;
}
else
a=b;
}
printf("%dn",count);
}

在最重要的程序通知中,%c带有标题空间

最新更新