输入3个字符串,按由小到大的顺序输出,用C加加,并且使用指针
时间: 2024-01-02 07:49:41 浏览: 82
```c++
#include<iostream>
#include<string>
using namespace std;
int main() {
string str1, str2, str3;
cout << "请输入3个字符串:" << endl;
cin >> str1 >> str2 >> str3;
string *p1 = &str1;
string *p2 = &str2;
string *p3 = &str3;
if (*p1 > *p2) {
string *temp = p1;
p1 = p2;
p2 = temp;
}
if (*p1 > *p3) {
string *temp = p1;
p1 = p3;
p3 = temp;
}
if (*p2 > *p3) {
string *temp = p2;
p2 = p3;
p3 = temp;
}
cout << "按由小到大的顺序输出:" << endl;
cout << *p1 << " " << *p2 << " " << *p3 << endl;
return 0;
}
```
相关问题
用C加加语言从键盘中输入一个字符串用一个指针指向这个字符串输出这个指针及字符串所占用的内存的大小
下面是一个示例代码,可以实现从键盘中输入一个字符串,然后用指针指向这个字符串,并输出指针及字符串所占用的内存大小:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char str[100];
cout << "请输入一个字符串:" << endl;
cin >> str;
char* p = str;
cout << "指针p指向的地址为:" << (void*)p << endl;
cout << "字符串所占用的内存大小为:" << strlen(str) + 1 << " 字节" << endl;
return 0;
}
```
在这个示例代码中,首先定义了一个长度为100的字符数组str,然后通过cin从键盘中读取一个字符串,并将其存储到str中。接着定义一个指针p,指向str所在的内存地址。最后,通过strlen函数计算出字符串的长度,并加上1(因为字符串末尾还有一个空字符'\0'),即可得到字符串所占用的内存大小。使用(void*)p强制转换为void指针类型,是为了能够输出指针指向的内存地址。
不使用其他函数,C加加统字符串中的整数并输出并且计算数量,使用指针
可以使用指针遍历字符串中的每个字符,判断其是否为数字字符,如果是则累加数字字符组成的整数并输出,最终得到字符串中整数的个数。以下是示例代码:
```cpp
#include <iostream>
using namespace std;
int main() {
char str[] = "abc123def456ghi";
int count = 0; // 整数计数器
char *p = str; // 定义指向字符串的指针
while (*p != '\0') { // 遍历字符串中的每个字符
if (*p >= '0' && *p <= '9') { // 判断是否为数字字符
int num = 0; // 整数变量
while (*p >= '0' && *p <= '9') { // 组成整数
num = num * 10 + (*p - '0');
p++;
}
cout << "整数:" << num << endl; // 输出整数
count++; // 累加整数计数器
} else {
p++;
}
}
cout << "字符串中共有 " << count << " 个整数" << endl;
return 0;
}
```
执行结果为:
```
整数:123
整数:456
字符串中共有 2 个整数
```
阅读全文