编写c语言程序,输入三个字母,输出三个字母中序号最小的字母
时间: 2024-10-27 21:10:19 浏览: 32
编写C语言程序来找出输入的三个字母中序号最小的字母,你可以采用以下步骤:
```c
#include <stdio.h>
#include <string.h>
int min_index(char a[3], char b[3], char c[3]) {
if (strcmp(a, b) < 0)
return 0; // 如果a是最小的,返回0
else if (strcmp(b, c) < 0)
return 1; // 否则如果b是最小的,返回1
else
return 2; // 最后,c是最小的,返回2
}
int main() {
char input[3][3];
printf("请输入三个字母:\n");
for (int i = 0; i < 3; i++) {
scanf("%s", input[i]);
}
int min_index_value = min_index(input[0], input[1], input[2]);
printf("中序号最小的字母是:%c\n", input[min_index_value]);
return 0;
}
```
这个程序首先定义了一个`min_index`函数,它通过比较字符串字典顺序找到最小的字母对应的索引。然后,在`main`函数中,用户会被提示输入三个字母,程序会调用`min_index`并打印出最小的那个。
相关问题
从键盘输入ab, C三个值,输出其中的最大值,(参照教材第8页例题1.3来写) 提示:求三个数的最大数,需要比较两次,即max函数需要在main函数中调用两次,注意调用时参数如的变化0
要从键盘输入三个字符`a`, `b`, 和 `c`,并找出其中的最大值,你可以按照下面的步骤编写C语言程序:
```c
#include <stdio.h> // 包含标准输入输出头文件
int main() {
char input[3]; // 定义一个数组来存储三个字符
int max_value;
// 输入三个字符
printf("请输入三个字符(a, b, c): ");
for (int i = 0; i < 3; i++) {
scanf("%c", &input[i]); // 使用scanf读取字符并存储到数组中
}
// 将字符转换为整数值以便进行比较
int temp_a = input[0] - 'a' + 1; // 字母转数字,'a'对应1,'z'对应26
int temp_b = input[1] - 'a' + 1;
int temp_c = input[2] - 'a' + 1;
// 第一次比较,找出最大值
if (temp_a > temp_b && temp_a > temp_c) {
max_value = temp_a;
} else if (temp_b > temp_a && temp_b > temp_c) {
max_value = temp_b;
} else {
max_value = temp_c;
}
// 输出最大值
printf("最大的字符是 '%c',对应的数值是 %d\n", input[max_value - 1], max_value);
return 0;
}
```
在这个例子中,我们假设输入的字符都是小写字母,并将其转换为相应的字母序号(A=1, B=2, ..., Z=26)。然后通过条件语句找出最大值。
阅读全文