这是题目
这是我的代码
#include <stdio.h>
int main()
{
char a[300]={"Angus Anthony Bert Benson Bill Billy Blake Caspar Cecil Charles Cheney Chris Daniel Denny Darwin David Dennis Derek Dick Donald "};
char m,n;
int i,j,t;
for(i=0,j=0,t=0;m=a[i]!='\0';i++)
{
n=a[t],m=a[i];
if(m==' ')
continue;
else if(m==n)
j+=1;
else if(m!=n&&a[i-1]==' ')
{
printf("姓名以%c开头的小朋友%d个\n",n,j);
t=i,n=a[t],j=0,j++;
}
}
printf("姓名以%c开头的小朋友%d个\n",n,j);
return 0;
}
运行结果正确
如果开头字母顺序不一样,这是我调了一下名字顺序
#include <stdio.h>
int main()
{
char a[300]={"Angus Anthony Bert Benson Bill Billy Blake Caspar Cecil Donald Charles Cheney Chris Daniel Denny Darwin David Dennis Derek Dick "};
char m,n;
int i,j,t;
for(i=0,j=0,t=0;m=a[i]!='\0';i++)
{
n=a[t],m=a[i];
if(m==' ')
continue;
else if(m==n)
j+=1;
else if(m!=n&&a[i-1]==' ')
{
printf("姓名以%c开头的小朋友%d个\n",n,j);
t=i,n=a[t],j=0,j++;
}
}
printf("姓名以%c开头的小朋友%d个\n",n,j);
return 0;
}
运行结果是这
结果不是总和,可以以我的基础改一下让结果算出总和吗