实验7-3-8 输出大写英文字母

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

输入格式:

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

输出格式:

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

输入样例1:

FONTNAME and FILENAME

输出样例1:

FONTAMEIL

输入样例2:

fontname and filrname

输出样例2:

Not Found
#include <stdio.h>

int main(int argc, char *argv[]) {
	
	char ch;//用来读入字符
	char a[80];//用来存字符
	int i=0;//用来计数
	ch=getchar();
	int flag=0;
	while(ch!='\n'){
		
		
		if(ch>='A'&&ch<='Z')
			{
				a[i++]=ch;
				flag=1;//标志有大写字母,可以进行输出
			}
		ch=getchar();
	}
//	} 大写字母筛选完毕,存入数组,数组长度为i
	int len=i;
	
	for(int i=0;i<len;i++)
	{
		for(int j=i+1;j<len;j++)
		{
			if(a[i]==a[j])
			{
//			出现相同的大写字母,数组整体前移。
				for(int k=j;k<len-1;k++)
				{
					a[k]=a[k+1];
				}
				len=len-1;
				j--;//j重新回到比较的位置,这里比较关键。因为整体前移了,还需要从刚才相同的地方开始比较。但是这次机会被使用掉了。
				
				
			}
		}
	}
	
	
	
	
//	输出
	
	if(flag==0)
		printf("Not Found");
	else{
		for(int i=0;i<len;i++)
			putchar(a[i]);
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值