如about中的“a”与“b”相邻,输出这个单词,boat中的“a”与“b”相邻,输出。(大写字母也如此)
下面这个程序无法运行!!找不出原因,请大神指点!!!
#include<stdio.h>
#include<math.h>
#include<string.h>
int main()
{
//检测字符是否是字母函数
int alphabetic(char c);
//将大写字母变为小写字母
char alphalow(char c);
//定义变量
char original[20], drag[20];
char i, c, q, k, n, m, a, b;
int t;
//输入字符串
printf("请输入一条字符串:\n");
gets(original);
//开始遍历
for (i = 0; i<20; i++)
{
c = original[i];
//判断是否字母
if (alphabetic(c))
{
q = i;//记录
//获取单词到数组drag[]
for (i = q; alphabetic(c); i++)
{
for (k = 0; k < 20; k++)
{
drag[k] = original[i];
}
}
n = k;//记录
//将字母全部变为小写
for (k = 0; k < n; k++)
{
c = drag[k];
alphalow(c);
}
//检测有无相邻字母
for (k = 0; k <n;k++)
{
for (m = k; m < n-1; m++)
{
a = drag[m];
b = drag[k];
t = a - b;
if (abs(t) == 1)
{
for (i=q; i < q+ n; i++)
printf("%c", original[i]);
}
printf("\n");
}
}
}
}
return 0;
}
int alphabetic(char c)
{
if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'))
return(1);
else
return(0);
}
char alphalow(char c)
{
if (c >= 'A' && c <= 'Z')
c += 32;
return(c);
}