C语言用getchar函数读入2个小写英文字符,然后分别用putchar和printf函数输出这两个字符对应的大写字符。
时间: 2024-09-24 17:21:46 浏览: 81
在C语言中,可以使用`getchar()`函数从标准输入设备(通常是键盘)逐个读取字符。假设你已经读入了两个小写字母`ch1`和`ch2`,你可以通过查找ASCII码表将它们转换为大写字母。大写字母通常是在小写字母基础上加上固定的偏移量。下面是一个简单的示例:
```c
#include <stdio.h>
int main() {
int ch1, ch2;
// 读入两个字符
printf("请输入第一个小写字母: ");
ch1 = getchar(); // getchar会阻塞直到用户输入
ch2 = getchar();
// 转换并打印大写字符
char upper_ch1 = (ch1 >= 'a' && ch1 <= 'z') ? ch1 + ('A' - 'a') : ch1; // 如果是小写字母则转成大写,否则不变
char upper_ch2 = (ch2 >= 'a' && ch2 <= 'z') ? ch2 + ('A' - 'a') : ch2;
printf("转换后的第一个字母是: %c\n", upper_ch1);
printf("转换后的第二个字母是: %c\n", upper_ch2);
// 输出大写字符
putchar(upper_ch1);
putchar(upper_ch2);
return 0;
}
```
相关问题
1.采用getchar和putchar函数编写如下程序,从键盘输入一个大写字母字符, 接着在显示器上输出对应的小写字母字符。 运行情况举例:
为了编写这样一个程序,我们可以利用ASCII码的特性,大写字母和小写字母的ASCII值相差固定值。以下是一个简单的C语言示例:
```c
#include <stdio.h>
int main() {
int ascii_diff = 32; // ASCII码的大写字母和小写字母之间的差值
char input_char; // 输入的大写字母
// 从键盘输入大写字母
printf("请输入一个大写字母: ");
scanf("%c", &input_char); // getchar()在这里不是必需的,因为我们使用scanf直接读入字符
// 将大写字母转换为小写字母
if (isalpha(input_char)) { // 检查是否为字母字符
input_char += ascii_diff; // 转换ASCII值
if (input_char > 'z') { // 避免超出'a'到'z'的范围
input_char -= 26; // 超出则往回循环
}
else if (input_char < 'a') { // 超过'a'
input_char += 26; // 往前循环
}
} else {
printf("输入的不是一个大写字母。\n");
return 1;
}
// 输出小写字母
printf("对应的英文小写字母是: %c\n", input_char);
return 0;
}
从键盘输入一个字符串,将其中的小写字母转化成大写字母,然后输出到一个磁盘文件letter.dat中保存,输入字符串以‘#’结束,再从该文件中读取这些数据再显示屏上输出,源程序命名为ex2.c 请用C语言输出
好的,这是一个字符串操作的问题。下面是 C 语言的代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int main() {
char s;
FILE *fp;
// 从键盘输入字符串并转化为大写字母,并保存到磁盘文件
fp = fopen("letter.dat", "w");
if (fp == NULL) {
printf("打开文件失败!");
exit(1);
}
while ((s = getchar()) != '#') {
s = toupper(s); // 将小写字母转化为大写字母
fputc(s, fp);
}
fclose(fp);
// 从磁盘文件中读取内容并显示在屏幕上
fp = fopen("letter.dat", "r");
if (fp == NULL) {
printf("打开文件失败!");
exit(1);
}
while ((s = fgetc(fp)) != EOF) {
putchar(s);
}
fclose(fp);
return 0;
}
```
这段代码同样分为两部分,第一部分从键盘读入字符串,并将其中的小写字母转化为大写字母,逐个写入到名为 `letter.dat` 的文件中,直到输入 `#` 终止输入。第二部分从同一个文件中读取内容,并打印到屏幕上。
需要注意的是,这里使用了 `toupper()` 函数将小写字母转化为大写字母,同时需要检查文件是否打开成功,否则会输出错误信息并退出程序。
阅读全文