1.输入1个字符串,输出其中所出现过的大写英文字母。如运行时输入字符"FONTNAME and FILENAME",应输出"FONTAMEIL"。(使用 getchar函数输入字符) 输入样式: FONTNAME and FILENAME输出样式: FONTAMEIL
时间: 2024-05-19 12:16:18 浏览: 40
代码如下:
#include <stdio.h>
int main() {
char c;
int i;
int visited[26] = {0}; // 用数组记录字母是否出现过,初始值为0
printf("请输入一个字符串:");
c = getchar();
while (c != '\n') {
if (c >= 'A' && c <= 'Z') {
i = c - 'A'; // 将字母转换为数组下标
if (visited[i] == 0) { // 如果该字母之前未出现过
visited[i] = 1; // 标记为已出现过
putchar(c); // 输出该字母
}
}
c = getchar();
}
return 0;
}
相关问题
本题要求编写程序,顺序输出给定字符串中所出现过的大写英文字母,每个字母只输出一遍;若无大写英文字母则输出“not found”。 输入格式: 输入为一个以回车结束的字符串(少于80个字符)。 输出格式: 按照输入的顺序在一行中输出所出现过的大写英文字母,每个字母只输出一遍。若无大写英文字母则输出“not found”。 输入样例1: fontname and filename 输出样例1: fontameil 输入样例2: fontname and filrname 输出样例2: not found
### 回答1:
题目要求编写程序,顺序输出给定字符串中所出现过的大写英文字母,每个字母只输出一遍;若无大写英文字母则输出“not found”。输入格式:输入为一个以回车结尾的字符串(少于80个字符)。输出格式:输出为一个同样以回车结尾的字符串,格式与要求一致。如果输入样例1是“fontname and filename\n”,则输出样例1为“AFILNOT\n”;如果输入样例2是“fontameil\n”,则输出样例2为“not found\n”;如果输入样例3是“fontname and filrname\n”,则输出样例3为“AEFILNOR\n”。
### 回答2:
本题要求编写一个程序来输出给定字符串中出现过的大写英文字母,并且每个字母只输出一遍。如果没有大写英文字母,则输出“not found”。
首先,我们需要读入输入的字符串,并遍历每个字符判断其是否为大写字母。如果是大写字母,则判断该字母是否已经出现过,如果没有出现过,则把该字母加入集合中,并输出该字母。最后,如果集合为空,则输出“not found”。
具体代码如下:
```
#include <iostream>
#include <string>
#include <unordered_set>
using namespace std;
int main()
{
string input;
getline(cin, input); // 读入输入的字符串
unordered_set<char> uppercase_letters; // 用于存储出现过的大写字母
for (char c : input) {
if (isupper(c)) { // 判断是否为大写字母
if (uppercase_letters.find(c) == uppercase_letters.end()) { // 判断是否已经出现过
uppercase_letters.insert(c);
cout << c;
}
}
}
if (uppercase_letters.empty()) { // 如果集合为空,则输出“not found”
cout << "not found";
}
return 0;
}
```
其中,我们使用了一个无序集合 `uppercase_letters` 来存储出现过的大写字母。在读入输入的字符串后,我们对每个字符进行遍历,判断是否为大写字母。如果是大写字母,则判断该字母是否已经出现过,如果没有出现过,则把该字母加入集合中,并输出该字母。最后,如果集合为空,则输出“not found”。
### 回答3:
本题需要编写一个程序,用来查找给定字符串中出现过的大写英文字母,并按照输入的顺序输出,每个字母只输出一遍。如果给定的字符串中没有大写英文字母,则输出“not found”。
题目的输入格式为一个以回车结束的字符串,长度少于80个字符。因此,我们需要通过字符串遍历的方式,逐个判断字符串中每个字符是否为大写英文字母。具体步骤如下:
1. 读取输入的字符串;
2. 定义一个空集合用来存放出现过的大写英文字母;
3. 遍历字符串的每个字符,判断是否为大写英文字母;如果是,则将其加入集合中;
4. 输出集合中的元素,表示出现过的大写英文字母;如果集合为空,则输出“not found”。
下面是使用Python语言编写的程序代码示例:
```python
s = input() # 读取输入的字符串
upper_set = set() # 定义一个空集合
for c in s:
if c.isupper(): # 判断是否为大写英文字母
upper_set.add(c) # 如果是,将其加入集合中
if upper_set: # 如果集合非空,输出集合中的元素
print(''.join(upper_set))
else: # 否则输出“not found”
print('not found')
```
程序首先读取输入的字符串,然后定义一个空集合。接着,程序遍历字符串中的每个字符,判断是否为大写英文字母,如果是,则将其加入集合中。最后,如果集合非空,则输出集合中的元素,否则输出“not found”。程序中使用了Python中集合(set)的特性,即不会存在重复元素,避免了重复输出同一个大写英文字母的问题。
以上就是本题的解题思路和Python代码实现。
阅读全文