本题要求编写程序,顺序输出给定字符串中所出现过的大写英文字母,每个字母只输出一遍;若无大写英文字母则输出“Not Found”。
输入格式:
输入为一个以回车结束的字符串(少于80个字符)。
输出格式:
按照输入的顺序在一行中输出所出现过的大写英文字母,每个字母只输出一遍。若无大写英文字母则输出“Not Found”。
输入样例1:
FONTNAME and FILENAME
输出样例1:
FONTAMEIL
输入样例2:
fontname and filrname
我的代码
#include <stdio.h>
int main() {
int i, j, flag = 0;
char ch[81] = {0};
char a[81] = {0};
gets(ch);
//printf("你输入的是 -> %s\n", ch);
for ( i = 0 ; ch[i] != '\0' ; i++ ) {
//printf("检查 Index 为 %d 的字符 %c \n", i, ch[i]);
if ( ch[i] >= 'A' && ch[i] <= 'Z' ) {
//printf("欲加入 Index 为 %d 的字符 %c \n", i, ch[i]);
flag = 0;
for ( j = 0 ; a[j] != '\0' ; j++ ) {
if ( a[j] == ch[i] ) {
flag = 1 ;
}
}
if ( flag == 0 ) {
//printf("符合 加入 %c \n", a[i]);
a[j] = ch[i];
a[j + 1] = '\0';
}
} else {
//printf( " %c:%d 不在 %c:%d - %c:%d 范围内", ch[i], ch[i], 'A', 'A', 'Z', 'Z');
}
}
//printf("现在 a -> %s\n", a);
if ( a[0] == '\0' ) {
printf("NOT FOUND");
} else {
printf("%s", a);
}
}