输出单词的首字符
本题目要求编写程序,输入一行字符,将每个单词的首字符输出。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。
输入格式:
输入给出一行字符。
输出格式:
在一行中输出单词的首字符。中间没有空格。
输入样例:
How are you?
输出样例:
Hay
#include <stdio.h>
#include <math.h>
#include<string.h>
#define N 10000//方便该数组大小
int main()
{
char s[N];
gets(s);
int i , l=strlen(s) , j=0;
char str[N];
if(s[0]!=' '){
str[j]=s[0];//首先解决首字母,也要考虑第一个为空格的情况
j++;
}
for(i=1 ; i<l ; i++){
if(s[i-1]==' '&&s[i]!=' '){//题目说所谓“单词”是指连续不含空格的字符串,所以直接考虑前一个是空格的字符
str[j++]=s[i];
}
}
str[j]='\0';//如果这里没有加一个换行字符,不要用puts输出,可以用循环吧str作数组输出,会比较麻烦
puts(str);
return 0;
}