帮看下程序的问题
这个程序的作用是处理一个字符串,把多余的空格删除只剩下一个空格,单词的开头字母大写,数字和字母之间添加‘-’符号。#include <stdio.h>
#include <string.h>
#include <ctype.h>
main()
{
char a[50],b[50];
int i,k,j=0;
gets(a);
k=strlen(a);
for(i=0;i<k;i++)
{
if(a[i]==' '&&a[i+1]==' ')
continue;
else
b[j++]=a[i];
}
b[j]='\0';
// puts(b);
k=strlen(b);
if(b[0]>='a'&&b[0]<='z')
b[0]=toupper(b[0]);
for(i=1;i<k;i++)
{
if(b[i]==' '&&(b[i+1]>='a'&&b[i+1]<='z'))
b[i+1]=toupper(b[i+1]);
}
for(j=0;j<k;j++)
{
if(((b[j]>='a'&&b[j]<='z')||(b[j]>='A'&&b[j]<='Z'))&&(b[j+1]>='0'&&b[j+1]<='9'))
{
for(i=k-1;i>=j+1;i--)
b[i+1]=b[i];
b[j+1]='-';
}
}
b[j+1]='\0';
puts(b);
}