[PTA]实验7-3-5 输出大写英文字母
Posted Spring-_-Bear
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[PTA]实验7-3-5 输出大写英文字母相关的知识,希望对你有一定的参考价值。
本题要求编写程序,顺序输出给定字符串中所出现过的大写英文字母,每个字母只输出一遍;若无大写英文字母则输出“Not Found”。
输入格式:
输入为一个以回车结束的字符串(少于80个字符)。
输出格式:
按照输入的顺序在一行中输出所出现过的大写英文字母,每个字母只输出一遍。若无大写英文字母则输出“Not Found”。
输入样例1:
FONTNAME and FILENAME
输出样例1:
FONTAMEIL
输入样例2:
fontname and filrname
输出样例2:
Not Found
- 提交结果:
- 源码:
#include<stdio.h>
#include<string.h>
#include<ctype.h>
int main(void)
{
char s[80]; // 原始输入字符串
char bigLetter[80]; // 大写英文字母字符串
int index = 0; // 大写英文字母字符数组下标
gets(s);
// 获得字符串中的大写英文字母,存入新的字符数组
for (int i = 0; s[i] != '\\0'; i++)
{
// 如果是大写英文字母
if (isupper(s[i]))
{
bigLetter[index] = s[i];
index++;
}
}
bigLetter[index] = '\\0';
// 将大写英文字母字符串中不重复的字母输出
for (int i = 0; bigLetter[i] != '\\0'; i++)
{
int isExist = 0; // 大写字母是否重复:0-不重复;1-重复
// 在bigLetter[i]前查找,若找到相同的,则不输出
for (int j = 0; j < i; j++)
{
if (bigLetter[j] == bigLetter[i])
{
// 存在相同大写字母,不输出本个大写字母
isExist = 1;
break;
}
}
// 本个字符之前不存在与它重复的字符,输出
if (isExist == 0)
{
printf("%c", bigLetter[i]);
}
}
// index为0,则字符串中不存在大写英文字母
if (index == 0)
{
printf("Not Found");
}
return 0;
}
以上是关于[PTA]实验7-3-5 输出大写英文字母的主要内容,如果未能解决你的问题,请参考以下文章