实验7-3-5 输出大写英文字母 (15 point(s))
本题要求编写程序,顺序输出给定字符串中所出现过的大写英文字母,每个字母只输出一遍;若无大写英文字母则输出“Not Found”。
输入格式:
输入为一个以回车结束的字符串(少于80个字符)。
输出格式:
按照输入的顺序在一行中输出所出现过的大写英文字母,每个字母只输出一遍。若无大写英文字母则输出“Not Found”。
输入样例1:
FONTNAME and FILENAME
结尾无空行
输出样例1:
FONTAMEIL
结尾无空行
输入样例2:
fontname and filrname
输出样例2:
Not Found
参考答案:
#include<stdio.h>
int main()
{
char c,out_c[81]="\n",loop_c,repeat,count=0;
while(scanf("%c",&c)&&'\n'!=c)//以换行键为结束标志
{
repeat=-1;
//每个字母只输出一遍:
//实际意思是每种字母不重复显示,只在首次出现时显示
if('A'<=c&&'Z'>=c)
for(loop_c=0,repeat=0;'\0'!=out_c[loop_c];loop_c++)
if(c==out_c[loop_c])repeat++;
if(0==repeat)
//repeat=-1表示非大写字母,1表示大写字母出现重复,0表示该大写字母首次出现
{
out_c[loop_c]=c;
putchar(c);
count++;//count记录输出的字符数量
}
}if(0==count)puts("Not Found");
}
本答案虽然无法通过Custom test,但是submit一如既往的完美通过.........................,建议使用本地IDE调试