姓前名后
(好坑的题(小声唧唧
题目描述
编写一个程序,输入英文名和姓,以"."结束。先输出姓氏,其后跟一个逗号,然后输出名的首字母,最后加一个点:
Lloyd Fosdick.
Fosdick, L.
输入
输入英文名和姓,名和姓的首字母大写,以"."结束输入。
注意:名和姓都可能只有一个字母,且输入中可能含空格(名之前、名和姓之间、姓氏之后),也可能无空格,但名内及姓内不含空格。
输出
先输出姓氏,其后跟一个逗号,然后输出名的首字母。注意","后留一个空格。
样例输入
Lloyd Fosdick.
样例输出
Fosdick, L.
#include<stdio.h>
int main()
{
int i,j,oo;
char a[1000000];
for(i=0;;i++)
{
scanf("%c",&a[i]);
if(a[i]=='.')
{
break;
}
}
for(i=0,oo=0;;i++)
{
if(a[i]==' ')
{
continue;
}
else if(a[i]>='A'&&a[i]<='Z'&&oo<2)
{
oo++;
if(oo==2)
{
i=i-1;
}
continue;
}
else if(oo==2&&a[i]>='A'&&a[i]<='Z')
{
for(j=i;;j++)
{
if(a[j]==' '||a[j]=='.')
{
printf(", ");
oo++;
break;
}
else
{
printf("%c",a[j]);
}
}
break;
}
else if(oo==3)
{
break;
}
}
for(j=0;;j++)
{
if((a[j]<65||a[j]>90)&&(a[j]<97||a[j]>122))
{
continue;
}
else
{
printf("%c.\n",a[j]);
break;
}
}
return 0;
}
输出(必须纪念一下..)
Lloyd Fosdick.
Fosdick, L.
--------------------------------
Process exited after 6.872 seconds with return value 0