题目
答案
#include<stdio.h>
#include<string.h>
int main()
{
char str1[100],str2[100];
gets(str1);
int i=0,j=0,k,flag=0;
while(i<strlen(str1))
{
if(str1[i]>='A'&&str1[i]<='Z') str2[j++]=str1[i];
i++;
}
str2[j]='\0';
if(j==0) printf("Not Found");
for(i=0;str2[i]!='\0';i++)
{
for(k=0;k<i;k++)
if(str2[i]==str2[k]) break;
if(k==i)
{
printf("%c",str2[i]);
flag=1;
}
}
}
PTA测试点
总结
这道题我自己原先做的时候是在gets(str1)
后直接用while(str[i]!='\0')
来判断,但不知道为什么循环变量爆炸了,str2尝试输出也变得特别长且多出来很多原来没有的字符
所以我换了个方式,用strlen()
统计字符并在第一次循环后将str2[j]
赋值为'\0'