实验7-3-5 输出大写英文字母 (15分)
本题要求编写程序,顺序输出给定字符串中所出现过的大写英文字母,每个字母只输出一遍;若无大写英文字母则输出“Not Found”。

输入格式:
输入为一个以回车结束的字符串(少于80个字符)。

输出格式:
按照输入的顺序在一行中输出所出现过的大写英文字母,每个字母只输出一遍。若无大写英文字母则输出“Not Found”。

输入样例1:

FONTNAME and FILENAME

输出样例1:

FONTAMEIL

输入样例2:

fontname and filrname

输出样例2:

Not Found
#include<stdio.h> //2021/1/22 //鉴于本篇博客阅读量激增 重写了一遍题解 //相对于原先的更容易理解
//如果对您有帮助的话还请点个赞 int main (){ char str[100]; char ans[100]; //字符串 str存输入
ans存要输出的答案 int i,j; gets(str); //gets能够整行读入 而不用担心被空格干扰 int p[100]={0};
//p数组验证大写字母是否出现过一次 //下标0~25对应A~Z for (i=0,j=0;str[i]!='\0';i++){
//gets读入的字符串会给我们'\0'结尾 所以条件是非'\0'就行 char s=str[i]; if (s>='A'&&s<='Z') { int u=s
-'A'; //通过转换让u变成与大写字母对应的下标 if (p[u]==0){ ans[j]=s; j++; //如果该大写字母未出现过那么p[u]==0
加入ans最后输出 p[u]++; //由于大写字母只输出一次所以p[u] ++下次在遇到就进不来判断了 } } } //j起到了记数的功能
在此时可以判断ans是否为空了 if (j==0) printf ("Not Found"); else { for (i=0;i<j;i++) {
printf("%c",ans[i]); } } return 0; } //如果对您有帮助的话还请点个赞

技术
©2019-2020 Toolsou All rights reserved,
【jvm学习】执行引擎python(基本介绍)用户管理和文件权限C++第五章多态性习题:(快大结局了)VHDL——含异步清零和同步使能的加法计数器源程序Windows网络服务渗透测试实战-跨网段攻击JavaScript百炼成仙 1.15 天秀找出游戏的获胜者(java)单片机能做什么,你有什么有单片机或开源硬件做的有意思的作品吗一份笔记让你从 15K 涨薪并跳槽到32K+16