代码如下,如有帮助,请采纳一下,谢谢。
#include <iostream>
#include <string>
using namespace std;
void fun()
{
int i;
string buf;
while(true)
{
cout <<"请输入字符:";
getline(cin,buf); //读取一行字符
for (i = 0; i < buf.length();i++)
{
if(buf[i] >= 'a' && buf[i] <= 'z')
{
//do nothint
}else if (buf[i] >= 'A' && buf[i] <= 'Z')
{
cout <<"输入的字符含有大写字母。";
break;
}else if (buf[i] >= '0' && buf[i] <= '9')
{
cout <<"输入的字符含有数字。";
break;
}else if (buf[i] <= 31 || buf[i] == 127)
{
cout <<"输入的字符中含有控制字符。";
break;
}else
{
cout <<"输入的字符非字母。";
break;
}
}
if (i == buf.length())
{
cout << "输入的字符全是小写字母" << endl;
}
}
}
void main()
{
fun();
}
ascill 码
小写字母是97到122
C语言 isupper() 函数用来判断一个字符是否是大写字母。
头文件:ctype.h
语法/原型:
int isupper(int c);
参数 c 表示要检测的字符。
返回值:返回值为非 0(真)表示 c 是大写字母,返回值为 0(假)表示 c 不是大写字母。
#pragma warning(disable:4996)
#include<stdio.h>
#include<string.h>
int w, r;
int read() {
char ch[100] = {0};
scanf("%s", ch);
int len = strlen(ch);
for (int i = 0; i < len; i++) {
if (ch[i] >= 'a' && ch[i] <= 'z')w++;
else r++;
}
return w;
}
int main() {
while (read() != 5 || r != 0) {
if (w != 5)printf("小写字母个数有误!\n"); w = 0;
if (r > 0)printf("输入了非法字符!\n"); r = 0;
printf("请重新输入!\n");
}
printf("五个小写字母,好耶");
return 0;
}