永发信息网

(老)该程序功能:输入1个字符串,按字母首次出现次序输出其中所出

答案:2  悬赏:60  手机版
解决时间 2021-12-20 12:13
  • 提问者网友:雪舞兮
  • 2021-12-19 16:37
(老)该程序功能:输入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");
}
问:不是很懂第一个答案那里为什么这样写,并且不大理解是如何实现判断不重复的?
最佳答案
  • 五星知识达人网友:未来江山和你
  • 2021-12-19 18:13
y[26] 所有的字符,放这,,,,,,,,,代码中有从这个数组中对比看是首次、还是重复
全部回答
  • 1楼网友:骨子里都是戏
  • 2021-12-19 18:53
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; } } }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯