Description
编写一个程序,找出5个字符串中最长的字符串。每个字符串长度在100以内,且全为小写字母。
Input
本程序输入5个字符串,每个字符串不超过100个字符,并且全部是小写字母。字符串之间可以用空格或者换行符隔开。
Output
本程序输出一个字符串。
问题
其它的我都会,只是不知道如何控制输入字符串为小写字母,求教各位
可以对输入的字符串进行遍历,判断每个字符是否为小写字母,如果不是,提示用户重新输入。
判断是否为小写字母可以通过ASCII码,这个链接可以查看ASCII表,ascii对照表。
因为char类型可以扩充为int型,所以可以进行int类型的加减与比较,这里就可以比较这个字符是否位于97与122之间,97对应a,122对应z
下面代码实现如下功能:用户输入一个字符,判断该字符是否为小写字母。
#include <stdio.h>
int main(int argc, char const *argv[])
{
char inputChar;
scanf("%c",&inputChar);
if(inputChar>=97 && inputChar<=122){
printf("yes, it is a lower-case letter\n");
}else {
printf("sorry, it is not a lower-case letter\n");
}
return 0;
}
看你要怎么“控制”,一般有3个思路:
(1)完整输入字符串,判断是否都是小写字母,如果不是,让用户重新输入整个字符串。
(2)输入的过程中,遇到非小写字母,不允许输入。
(3)输入字符串以后,自动将大写字母转换为小写字母,其余内容从字符串中删除。
你需要怎么做。
接收到数据以后进行判断,如果是大写字母,就转换为小写字母