对于字符串,me屡做屡错,我也就笑笑不说话了。。。
有几点注意:
1.仔细读题,eg:应先判断第一个是不是字母,有时候空格可能是多个
2.gets函数的应用
题目描述
定义:一个词组中每个单词的首字母的大写组合称为该词组的缩写。
比如,C语言里常用的EOF就是end of file的缩写。
比如,C语言里常用的EOF就是end of file的缩写。
输入
输入的第一行是一个整数T,表示一共有T组测试数据。
接下来有T行,每组测试数据占一行,每行有一个词组,每个词组由一个或多个单词组成;每组的单词个数不超过10个,每个单词有一个或多个大写或小写字母组成;
单词长度不超过10,由一个或多个空格分隔这些单词。
接下来有T行,每组测试数据占一行,每行有一个词组,每个词组由一个或多个单词组成;每组的单词个数不超过10个,每个单词有一个或多个大写或小写字母组成;
单词长度不超过10,由一个或多个空格分隔这些单词。
输出
请为每组测试数据输出规定的缩写,每组输出占一行。
样例输入
1
end of file
样例输出
EOF
#include<stdio.h>
int main(void)
{
int n;
char a[105],b[105];
scanf("%d",&n);
getchar();
while(n--)
{
gets(a);
int i,flag=0,j=0;
for(i=0;a[i]!='\0';i++)
{
if(a[i]==' '&&a[i+1]!=' '&&flag)
{
if(a[i+1]>='a'&&a[i+1]<='z') b[j]=a[i+1]-32;
else b[j]=a[i+1];
j++;
}
if(a[i]!=' '&&flag==0)
{
if(a[i]>='a'&&a[i]<='z') b[j]=a[i]-32;
else b[j]=a[i];
j++;
flag=1;
}
}
b[j]='\0';
puts(b);
}
return 0;
}