本题要求我们在三个字符之间选取最大值,首先我们需要知道字符之间时如何进行比较的。字符之间的大小比较是借助ASCALL码进行比较,我们需要知道常见的字符与Ascall码对应关系。例如:A——Z(65——90)a——z(97——122)其他常见的大家都可以在网上查到,这里就不再赘述。我们来看一下这道题目的代码:
#include<stdio.h>
int main()
{
char a,b,c;
scanf("%c%c%c",&a,&b,&c);
char max;//暂存前两数中的较大者
if(a>b)
{
max=a;
}
else
{
max=b;
}//比较完两数再与第三个数比较
if(max>c)//假如max大于第三个数,最大值就是max,不然就是第三个数了
{
printf("%c\n",max);
}
else
printf("%c\n",c);//.1f属于格式控制,使得小数点后只输出一位小数
return 0;
}
我们可以看到其实和之前的思路是一样的,只是数据的数据类型不同,上次我们说到了整型(int)和浮点类型(float),这次我们遇到的是字符类型(char),在目前的阶段,可以说这三个数据类型就是“三大天王”,我们的现阶段的学习都会一直使用,所以我们要打好数据类型的基础,在今后的学习中细心谨慎,看好题目要求的数据类型,毕竟“程序=算法+数据结构”。