用指针实现:输入5个字符存放在数组a中,找出其中最小字符并输出。
时间: 2023-04-28 21:01:50 浏览: 75
可以使用指针来实现这个功能。具体步骤如下:
1. 定义一个字符数组a,大小为5。
2. 使用循环语句输入5个字符,存放在数组a中。
3. 定义一个字符型指针变量p,指向数组a的第一个元素。
4. 定义一个字符型变量min,初始化为*p。
5. 使用循环语句遍历数组a,比较每个元素与min的大小,如果小于min,则将该元素赋值给min。
6. 输出min。
代码示例:
```c++
#include <iostream>
using namespace std;
int main() {
char a[5];
cout << "请输入5个字符:" << endl;
for (int i = 0; i < 5; i++) {
cin >> a[i];
}
char *p = a;
char min = *p;
for (int i = 0; i < 5; i++) {
if (*(p+i) < min) {
min = *(p+i);
}
}
cout << "最小字符为:" << min << endl;
return 0;
}
```
相关问题
输入5个字符串,从中找出最大的字符串并输出。要求用二维字符数组存放这5个字符串。 C语言指针
好的,可以用以下代码实现:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
int main() {
char str[5][MAX_LEN]; // 定义二维字符数组
int i, max_len = 0, max_idx = 0;
// 输入5个字符串
printf("请输入5个字符串:\n");
for (i = 0; i < 5; i++) {
scanf("%s", str[i]);
int len = strlen(str[i]);
if (len > max_len) {
max_len = len;
max_idx = i;
}
}
// 输出最大字符串
printf("最大的字符串是:%s\n", str[max_idx]);
return 0;
}
```
这里使用了一个二维字符数组 `str` 来存放输入的5个字符串。在输入的过程中,我们计算每个字符串的长度,并比较得到最大字符串的下标,最后输出即可。
输入5个字符串,从中找出最大的字符串并输出。要求用二维字符数组存放这5个字符串。 用c语言指针
好的,以下是用 C 语言指针实现的代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
int main() {
char str[5][MAX_LEN];
char *p[5];
int i, max_len = 0, max_index;
// 输入5个字符串
printf("请输入5个字符串:\n");
for (i = 0; i < 5; i++) {
printf("第%d个字符串:", i + 1);
fgets(str[i], MAX_LEN, stdin);
str[i][strlen(str[i]) - 1] = '\0'; // 去掉换行符
p[i] = str[i]; // 将指针数组 p 指向每个字符串
}
// 找出最大的字符串
for (i = 0; i < 5; i++) {
if (strlen(p[i]) > max_len) {
max_len = strlen(p[i]);
max_index = i;
}
}
// 输出最大的字符串
printf("最大的字符串为:%s\n", p[max_index]);
return 0;
}
```
代码中使用了一个指针数组 `p` 存放指向每个字符串的指针,使用 `fgets` 函数读入字符串,并去掉换行符。然后使用一个循环遍历所有指针,找出最大的字符串并记录其下标,最后输出最大的字符串。