书接上文,这次继续讲的是1025,1026题。
1025,1026还是和前两题一样,属于有关ASCII码的题目。如果你前两题已经了解了ASCII码的含义,那么这两题相信也难不倒你。
1025: 最大字符
1025:最大字符
题目描述
给你三个ASCII字符(不含空白字符:包括空格、制表符\t、回车换行符\n),找出其中最大的那个
输入
输入包含三个字符,之间有一个空格隔开。
输出
输出ASCII码最大的那个字符,占一行。
提示
注意对输入序列中空格的处理,空格也是合法的字符 ,故代码输入时,可在赋值前添加空格隔开每个数。
#include<stdio.h>
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:字符类型判断
题目描述
从键盘输入一个字符,判断该字符是否大写字母、小写字母、数字字符或其他字符。分别输出对应的提示信息。
输入
输入一个字符。
输出
如果该字符是大写字母,则输出“upper”;若是小写字母,则输出“lower”;若是数字字符,则输出“digit”;若是其他字符,则输出“other”。(输出不含双引号)。
#include<stdio.h>
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<stdio.h>
#include<ctype.h>
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语言这一门语言。
我们下期见。