(老)该程序功能:输入1个字符串,按字母首次出现次序输出其中所出现过的大写英文字母。如运行时输入字符串"FONTNAME and FILENAME",应输出"F O N T A M E I L"。
#include
void main()
{ char x[80],y[26]; int i,j,ny=0;
gets(x);
for(i=0;x[i]!='\0';i++)
if(x[i]>='A'&&x[i]<='Z') {
for(j=0;j
if(y[i]==x[j]) continue; //i -j continue--break
if(j==ny) { y[ny]=x[i]; ny++; }
}
for(i=0;i<26;i++) //26---ny
printf("%c ",y[i]);
printf("\n");
}
问:不是很懂第一个答案那里为什么这样写,并且不大理解是如何实现判断不重复的?
void main()
{
char str[1024];
char flag[26] = {0};
scanf("%s", str);
for (int i=0; str[i] != 0; ++i)
{
if ( str[i] >= 'a' && str[i] <= 'z' && flag[str[i]-'a'] == 0)
{
printf("%c", str[i]);
flag[str[i]-'a'] = 1;
}
}
}