c++ 输入一个字符串,判断是否有八位,是否存在大小写字母和数字,存在输出yes
时间: 2024-06-03 08:10:08 浏览: 144
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
int len, has_digit = 0, has_upper = 0, has_lower = 0, has_eight = 0;
printf("请输入一个字符串:");
scanf("%s", str);
len = strlen(str);
if (len == 8)
has_eight = 1;
for (int i = 0; i < len; i++)
{
if (str[i] >= '0' && str[i] <= '9')
has_digit = 1;
else if (str[i] >= 'A' && str[i] <= 'Z')
has_upper = 1;
else if (str[i] >= 'a' && str[i] <= 'z')
has_lower = 1;
}
if (has_eight && has_digit && has_upper && has_lower)
printf("yes");
else
printf("no");
return 0;
}
相关问题
c++题目描述: 判断两个由大小写字母和空格组成的字符串在忽略大小写,且忽略空格后是否相等。 输入格式: 两行,每行包含一个字符串(长度不超过100)。 输出格式: 若两个字符串相等,输出YES,否则输出NO。 输入样例: a A bb BB ccc CCC Aa BBbb CCCccc 输出样例: YES
这是一个判断两个字符串是否相等的问题,忽略大小写和空格后进行比较。你可以使用以下C++代码来解决这个问题:
```cpp
#include <iostream>
#include <string>
#include <cctype>
using namespace std;
bool isSameString(const string& str1, const string& str2) {
// 去除空格
string s1, s2;
for (char c : str1) {
if (!isspace(c)) {
s1 += c;
}
}
for (char c : str2) {
if (!isspace(c)) {
s2 += c;
}
}
// 忽略大小写进行比较
if (s1.size() != s2.size()) {
return false;
}
for (int i = 0; i < s1.size(); i++) {
if (tolower(s1[i]) != tolower(s2[i])) {
return false;
}
}
return true;
}
int main() {
string str1, str2;
getline(cin, str1);
getline(cin, str2);
if (isSameString(str1, str2)) {
cout << "YES" << endl;
} else {
cout << "NO" << endl;
}
return 0;
}
```
你可以将输入的两个字符串分别保存到 `str1` 和 `str2` 中,然后调用 `isSameString` 函数判断它们是否相等。函数首先去除字符串中的空格,然后将字符串转换为小写字母形式,最后进行比较。若相等,则输出 "YES",否则输出 "NO"。
字符串判等 题目描述 判断两个由大小写字母和空格组成的字符串在忽略大小写,且忽略空格后是否相等,是输出YES,否输出NO。c++
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main() {
char str1[100], str2[100];
int len1, len2, i, j;
scanf("%[^\n]s", str1); // 输入字符串1
getchar(); // 读取回车符
scanf("%[^\n]s", str2); // 输入字符串2
len1 = strlen(str1);
len2 = strlen(str2);
if (len1 != len2) { // 如果长度不等,肯定不相等
printf("NO\n");
return 0;
}
for (i = 0, j = 0; i < len1 && j < len2; i++, j++) {
if (isspace(str1[i])) { // 忽略空格
j--;
continue; // 继续下一次循环
}
if (isspace(str2[j])) {
i--;
continue;
}
if (tolower(str1[i]) != tolower(str2[j])) { // 忽略大小写
printf("NO\n");
return 0;
}
}
printf("YES\n");
return 0;
}
阅读全文