Problem D: 检索大写字母
Time Limit: 1 Sec Memory Limit: 64 MB
Submit: 4902 Solved: 2755
Description
输入一行字符串,按字符串各字母出现次序输出字符串中所有出现过的大写英文字母(不能重复输出相同字母)
Input
输入一行字符串。
Output
输出字符串中所有的大写字母
Sample Input
FONTNAME and FILENAME
Sample Output
F O N T A M E I L
HINT
这是一道写给大佬的题目,希望大佬能看明白;大佬看不懂,过来加点注释
函数strlen:用来求字符串的长度,读取长度会包含‘\0’,故比输入长度多一;
#include <stdio.h>#include <string.h>int main(){char a[100],s[100];int i,j,k;gets(a);\\读取输入字符串for(i=0;i<strlen(a);i++){\\双重循环删除重复元素for(j=i+1;j<strlen(a);j++){if(a[i]==a[j]){\\如果找到重复元素就将后面的全部字符向前移动一位for(k=j;k<strlen(a);k++){a[k]=a[k+1];}}}}j=0;for(i=0;i<strlen(a);i++){\\将处理后的数组中符合大写的字符存入s[]中if(a[i]>='A'&&a[i]<='Z'){s[j]=a[i];j++;}}for(i=0;i<j-2;i++){\\控制输出格式printf("%c ",s[i]);}printf("%c",s[j-2]);return 0;}