编写一个要求输入两个小写字符的c++程序。使用指针将输入的两个字符传递给名为capit()的函数。capit()函数应该大写 这两个字母和通过指针参数将大写的值返回给调用函数。然后调用函数应该显示所有四个字母。
时间: 2023-09-13 15:05:29 浏览: 97
### 回答1:
以下是实现你要求的C++程序:
```cpp
#include <iostream>
using namespace std;
void capit(char *a, char *b) {
*a = toupper(*a);
*b = toupper(*b);
}
int main() {
char a, b;
cout << "请输入两个小写字母:";
cin >> a >> b;
capit(&a, &b);
cout << "大写后的两个字母为:" << a << " " << b << endl;
return 0;
}
```
程序首先定义了一个名为`capit()`的函数,该函数接受两个指向字符的指针作为参数。在函数内部,`toupper()`函数用于将输入的小写字母转换为大写字母,并将结果存储回原始指针指向的位置。
在`main()`函数中,程序提示用户输入两个小写字母,然后调用`capit()`函数来将它们转换为大写字母。最后,程序输出大写字母并结束执行。
### 回答2:
下面是一个C程序,用于实现上述功能:
```c
#include <stdio.h>
void capit(char* ptr1, char* ptr2) {
*ptr1 = *ptr1 - 32; // 将第一个字符转为大写
*ptr2 = *ptr2 - 32; // 将第二个字符转为大写
}
int main() {
char ch1, ch2;
printf("请输入两个小写字符:\n");
scanf("%c %c", &ch1, &ch2);
capit(&ch1, &ch2);
printf("大写字母为:%c %c %c %c\n", ch1, ch2, ch1, ch2);
return 0;
}
```
在主函数中,首先通过`scanf`函数接收用户输入的两个小写字符,并将它们保存到`ch1`和`ch2`变量中。然后调用`capit`函数,将`ch1`和`ch2`的地址作为参数传递给函数。
在`capit`函数中,使用指针操作将`ch1`和`ch2`转为大写字母。通过将字符的ASCII码减去32,即可实现将小写字母转为大写字母的效果。
最后,在主函数中,输出结果即为两个小写字母和其对应的大写字母。
### 回答3:
编写一个要求输入两个小写字符的C程序,使用指针将输入的两个字符传递给名为capit()的函数。capit()函数应该大写这两个字母并通过指针参数将大写的值返回给调用函数。然后调用函数应该显示所有四个字母。
```c
#include <stdio.h>
void capit(char *c1, char *c2) {
*c1 = (*c1 >= 'a' && *c1 <= 'z') ? (*c1 - 'a' + 'A') : *c1;
*c2 = (*c2 >= 'a' && *c2 <= 'z') ? (*c2 - 'a' + 'A') : *c2;
}
int main() {
char letter1, letter2;
printf("请输入两个小写字母:");
scanf("%c %c", &letter1, &letter2);
capit(&letter1, &letter2);
printf("大写字母为:%c %c\n", letter1, letter2);
return 0;
}
```
上述代码中,我们首先定义了一个名为capit()的函数,该函数的参数为两个字符指针c1和c2。在函数内部,我们对c1和c2进行判断,如果其值在小写字母范围内,则将其转换为对应的大写字母;否则不进行任何操作。通过指针参数将大写的值返回给调用函数。
在主函数中,我们首先定义了两个变量letter1和letter2用于接收用户输入的两个小写字符。然后通过scanf函数将输入的字符赋值给letter1和letter2。接着调用capit()函数来将两个小写字母转换为大写字母。最后使用printf函数显示大写字母。
需要注意的是,用户在输入两个小写字母时,要以空格分隔开来。
阅读全文