当前位置:网站首页>PTA 实验7-5 输出大写英文字母(10 分)
PTA 实验7-5 输出大写英文字母(10 分)
2022-08-09 11:09:00 【追梦杰尼龟】
PTA 实验7-5 输出大写英文字母(10分)
题目:
本题要求编写程序,顺序输出给定字符串中所出现过的大写英文字母,每个字母只输出一遍;若无大写英文字母则输出“Not Found”。
输入格式:
输入为一个以回车结束的字符串(少于80个字符)。
输出格式:
按照输入的顺序在一行中输出所出现过的大写英文字母,每个字母只输出一遍。若无大写英文字母则输出“Not Found”。
输入样例1:
FONTNAME and FILENAME
输出样例1:
FONTAMEIL
输入样例2:
fontname and filrname
输出样例2:
Not Found
思路分析:
1.定义两个字符数组;
第一个用于存储输入首先输入的字符串,将所有小写的字符全部删去
第二个用于存储筛选过后的字符串,该数组应全部为大写字符
2.去除重复的大写字符
运用到数组0.1标记方法,先将数组全部标记为0,当有重复的出现时,将重复的其中一个标记为1,最后输出标记为0的字符,就可以避免输出重复的字符了
3.考虑到全为小写字符是不存储到第二个字符数组的,所以用到相当于计数器的变量来实现;
代码+注释:
#include<stdio.h>
#include<string.h>
int main()
{
/*输入*/
char a1[80];//未做处理的数组
char a2[80];//处理后的数组
gets(a1);
/*遍历*/
int k1 = strlen(a1);//计算a1的长度
int i;
int k2 = 0;
for(i=0; i<k1; i++){
if(a1[i]>='A'&&a1[i]<='Z'){
a2[k2] = a1[i];
k2++;//用来计算a2数组的长度
}
}
/*如果全为小写字母,那么a2数组不可能存储 那么K2不可能自增,会等于0;*/
if(k2 == 0){
//如果全为小写的情况
printf("Not Found");
}
/*此时a2数组中全部都是大写字母*/
/*用0,1标记区别重复*/
/*双重循环来检验*/
int m,j;
for(i=0; i<k2; i++){
m = 0;
for(j=0; j<i; j++){
if(a2[i] == a2[j]){
m = 1;
}
}
if(m == 0){
printf("%c",a2[i]);
}
}
return 0;
}

边栏推荐
- 自从我使用HiFlow场景连接器后,在也不用担心成为“落汤鸡”了
- 日期工具类
- 剖析STM32F103时钟系统
- 1003 Emergency (25分)
- golang 三种指针类型具体类型的指针、unsafe.Pointer、uintptr作用
- STemwin中GUI_Exec和GUI_Delay
- Beauty Values
- b站up主:空狐公子 --矩阵求导(分母布局)课程笔记
- golang runtime Caller、Callers、CallersFrames、FuncForPC、Stack作用
- Solve 1. tensorflow runs using CPU but not GPU 2. GPU version number in tensorflow environment 3. Correspondence between tensorflow and cuda and cudnn versions 4. Check cuda and cudnn versions
猜你喜欢

富媒体在客服IM消息通信中的秒发实践

【Subpixel Dense Refinement Network for Skeletonization】CVPR2020论文解读

无刷无霍尔BLCD电机控制

CentOS6.5 32bit安装Oracle-11gR2步骤说明

UNIX Philosophy

x86 Exception Handling and Interrupt Mechanism (3) Interrupt Handling Process

End-to-End Object Detection with Fully Convolutional Network学习笔记

Quartz的理解

prometheus接入mysqld_exporter

信息系统项目的十大管理
随机推荐
WebSocket
Paper Sharing | ACL2022 | Argument Relation Extraction Based on Transfer Learning
FreeRTOS列表和列表项源码分析
fork创建多个子进程
sublime记录
wait系统调用
富媒体在客服IM消息通信中的秒发实践
C语言数组题_校门外的树_标记法
Julia资料收集
matlab图像分割,从基因芯片荧光图像中提取阴性点(弱)和阳性点(强)
【C language】typedef的使用:结构体、基本数据类型、数组
Input and output of cnn
学习阶段总结(背包问题)
PTA习题 分类统计字符个数(C)
PTA 换硬币
1008 Elevator (20分)
OpenSSF's open source software risk assessment tool: Scorecards
【C language】动态数组的创建和使用
focusablejs
bit、byte、KB、M、G、T相互关系