使用devc++用cout cin、编写程序,从键盘输入 A空格B空格C五个字符,然后原样输出这五个字符,实现效果图如下。提示:用cin.get()和cout.put()来做(或者用C语言的getchar()和putchar()来做)
时间: 2024-10-02 12:02:48 浏览: 43
在Dev-C++中,如果你想从键盘接收用户输入并原样输出,可以使用`std::cin.get()`配合`std::cout.put()`来实现。这里是一个使用`getch()`和`putch()`(它们是`cin.get()`和`cout.put()`的简单替代,因为Dev-C++默认不支持`getchar()`和`putchar()`)的例子:
```cpp
#include <conio.h> // 引入conio.h库,包含getch()和putch()函数
int main() {
char input[5]; // 创建一个长度为5的字符数组,用于存储输入
int i;
for (i = 0; i < 5; ++i) { // 循环读取5次字符
input[i] = _getch(); // 使用_getch()获取用户输入,注意这里需要添加前缀_
cout.put(input[i]); // 将输入的字符原样输出
}
return 0;
}
```
这段代码会等待用户逐个输入A、空格、B、空格、C共五个字符,然后立即在屏幕上显示。注意 `_getch()`是从conio.h库引入的非标准函数,可能会因环境而异。
运行此程序,你需要手动在键盘上输入字符,然后按回车确认。程序会立即输出你输入的内容。
相关问题
编写一个完整的C++程序,要求输入3个学生的姓名,并按姓名的字母前后顺序升序输出学生名单。 输入格式: 在三行分别输入3个学生的姓名字符串。字符串中不要包含空格、换行符和制表符 输出格式: 按照“输出样例”输出结果,其中的1、2、3是原样输出的整数。 输入样例: zhangdan lili wangming 输出样例: 1:lili 2:wangming 3:zhangda
以下是一个实现上述功能的C++程序:
```c++
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
string names[3];
// 输入三个学生的姓名
for (int i = 0; i < 3; i++)
{
cin >> names[i];
}
// 按照字母升序排序
sort(names, names + 3);
// 输出排序后的学生名单
for (int i = 0; i < 3; i++)
{
cout << i + 1 << ":" << names[i] << endl;
}
return 0;
}
```
这个程序使用了C++标准库中的string和algorithm头文件中的sort函数来实现字符串的排序。程序先输入三个学生的姓名,然后调用sort函数按照字母升序排序,最后输出排序后的学生名单。
在一行中输入若干个字符作为简写字符,字符之间没有空格间隔,并按如下规则产生输出: 每个简写字母对应一行输出 若字符为c或c,则该行输出"beijing olympic games" 若字符为j或j,则该行输出"japan world cup" 若字符为k或k,则该行输出"korea world cup" 若为其他字符,则该行原样输出该字符。
### 回答1:
可以使用switch语句来实现:
char c;
while(cin >> c) {
switch(c) {
case 'c':
case 'C':
cout << "beijing olympic games" << endl;
break;
case 'j':
case 'J':
cout << "japan world cup" << endl;
break;
case 'k':
case 'K':
cout << "korea world cup" << endl;
break;
default:
cout << c << endl;
break;
}
}
这段代码可以不断读入字符,然后根据不同的字符输出不同的字符串。如果字符为c或C,输出"beijing olympic games";如果字符为j或J,输出"japan world cup";如果字符为k或K,输出"korea world cup";否则原样输出该字符。
### 回答2:
这道题目的意思是,我们会输入一串简写字母,每一个简写字母代表一个全称。我们需要根据输入的简写字母,输出对应的全称,并将每行的输出分别单独的打印出来。
首先,我们需要读入输入的一长串简写字母。我们可以使用C++中的字符串类型string来存储这些简写字母。接着,我们需要一个循环来依次遍历这些字母,对于每一个字母,我们需要判断它对应的全称,并将该全称单独打印出来。
判断的方法很简单,我们可以使用if语句结合字符串比较的方式。每当我们遍历到一个字符时,我们都先判断该字符是否需要打印,如果是,则输出对应的全称,如果不是,则直接输出该字符。输出的方法也很简单,我们可以使用C++中的cout语句来打印。对于不同的全称,我们需要将它们分别单独打印出来,输出的方法是每个全称单独占一行。
完整的代码如下:
#include<iostream>
#include<string>
using namespace std;
int main() {
string input;
cin >> input;
for(int i = 0; i < input.length(); i++) {
if(input[i] == 'c' || input[i] == 'C') {
cout << "beijing olympic games" << endl;
} else if (input[i] == 'j' || input[i] == 'J') {
cout << "japan world cup" << endl;
} else if (input[i] == 'k' || input[i] == 'K') {
cout << "korea world cup" << endl;
} else {
cout << input[i] << endl;
}
}
return 0;
}
需要注意的一点是,每次输出需要用endl换行符来实现单独一行的效果。在程序结束后,不要忘记返回0来表示程序正常结束。
### 回答3:
这是一道比较简单的字符串处理题目。根据题意,需要用循环遍历输入的字符串,对每个字符进行判断处理,输出对应的结果。
具体实现过程如下:
1. 定义一个字符串变量 inputStr 用来存储输入的字符串。
2. 通过 input() 函数获取用户输入的字符串。
3. 定义一个字典变量 dictChar 用来存储简写字母对应的输出结果,即 {"c": "beijing olympic games", "j": "japan world cup", "k": "korea world cup"}。
4. 使用 for 循环遍历输入字符串中的每个字符。
5. 判断当前字符是否在 dictChar 中,如果在,则输出对应的结果;如果不在,则原样输出该字符。
6. 代码实现如下:
```python
inputStr = input("请输入简写字符:")
dictChar = {"c": "beijing olympic games", "j": "japan world cup", "k": "korea world cup"}
for char in inputStr:
if char in dictChar:
print(dictChar[char])
else:
print(char)
```
7. 测试一下,输入 "cjkk",输出结果如下:
```python
japan world cup
beijing olympic games
korea world cup
korea world cup
```
综上所述,本题需要用循环遍历输入的字符串,根据不同的字符输出对应的结果。这是一道比较基础的字符串处理问题,重点在于理解题意,设计出适当的算法。
阅读全文