郑州轻工业大学oj题解(c语言)1023-1026|郑州轻工业大学oj题解(c语言)1023-1026 ASCII码系列(二)

书接上文,这次继续讲的是1025,1026题。
1025,1026还是和前两题一样,属于有关ASCII码的题目。如果你前两题已经了解了ASCII码的含义,那么这两题相信也难不倒你。
1025: 最大字符 1025:最大字符
题目描述
给你三个ASCII字符(不含空白字符:包括空格、制表符\t、回车换行符\n),找出其中最大的那个
输入
输入包含三个字符,之间有一个空格隔开。
输出
输出ASCII码最大的那个字符,占一行。
提示
注意对输入序列中空格的处理,空格也是合法的字符 ,故代码输入时,可在赋值前添加空格隔开每个数。

#include main() { char a,b,c,max; scanf("%c %c %c",&a,&b,&c); max=a; //将a赋值于max 用max完成以下的比较 if(b>max) max=b; if(c>max) max=c; printf("%c",max); }

  • 运用假设法,把其中一个值当作最大的值,用作比较,若比较值较大,则代替原值。
  • 注意这里面的值的比较是字符的比较,%c要运用到位。
1026:字符类型判断 1026:字符类型判断
题目描述
从键盘输入一个字符,判断该字符是否大写字母、小写字母、数字字符或其他字符。分别输出对应的提示信息。
输入
输入一个字符。
【郑州轻工业大学oj题解(c语言)1023-1026|郑州轻工业大学oj题解(c语言)1023-1026 ASCII码系列(二)】输出
如果该字符是大写字母,则输出“upper”;若是小写字母,则输出“lower”;若是数字字符,则输出“digit”;若是其他字符,则输出“other”。(输出不含双引号)。
#include main() { char c; scanf("%c",&c); if(c>='a'&&c<='z')//判断小写 printf("lower"); else if(c>='A'&&c<='Z')//判断大写 printf("upper"); else if(c>='0'&&c<='9')//判断数字 printf("digit"); else//判断其他字符 printf("other"); }

本题没什么好说的,无非是前几题的综合,如果你已经可以熟练的掌握ASCLL码的用法了可以忽略本题。
另外关于小写,大写,数字符都有各自的判定的库函数,感兴趣的同学可以自己探索。
下面附上用函数完成的代码。(其中ctype.h是头文件的一种,这里表示的是引用字符测试函数的作用)
#include #include int main() { char ch; scanf ("%c", &ch); if(isupper(ch))//使用库函数isupper()判断是否是小写字母 printf ("upper\n"); else if(islower(ch)) //使用库函数islower() printf("lower\n"); else if(isdigit(ch)) //使用库函数isdigit() printf("digit\n"); else printf("other\n"); return 0; }

ASCII码在以后大家敲代码的过程中遇到的次数不会太少,希望大家都能熟练掌握这一知识。更好的学习好C语言这一门语言。
我们下期见。

    推荐阅读