gpt4 book ai didi

检查字母数字中字符是大写还是小写

转载 作者:太空宇宙 更新时间:2023-11-04 01:31:46 25 4
gpt4 key购买 nike

我有这个 C 代码。如果我输入一个 LOL123,它应该显示它是大写的。而 lol123 是小写的。如何在检查 isupper 或 is lower 时使用 isalpha 排除非数字输入?

#include <stdio.h>

#define SIZE 6
char input[50];
int my_isupper(char string[]);

int main(){
char input[] = "LOL123";
int m;

m= isupper(input);
if( m==1){
printf("%s is all uppercase.\n", input);
}else
printf("%s is not all uppercase.\n", input);

return 0;
}

int my_isupper(char string[]){
int a,d;

for (a=0; a<SIZE); a++){
d= isupper(string[a]) ;
}

if(d != 0)
d=1;

return d;
}

最佳答案

对于大写函数,只需遍历字符串,如果遇到小写字符,则返回 false 之类的值。并且不要使用标准库函数名称来命名您自己的函数。请改用 isUpperCase

现场演示:https://eval.in/93429

#include <stdio.h>
#include <string.h>

int isUpperCase(const char *inputString);

int main(void)
{
char inputString1[] = "LOL123";
char inputString2[] = "lol123";
printf("%s is %s\n", inputString1, isUpperCase(inputString1)?"upper-case":"not upper-case");
printf("%s is %s\n", inputString2, isUpperCase(inputString2)?"lower-case":"not upper-case");
return 0;
}

int isUpperCase(const char *inputString)
{
int i;
int len = strlen(inputString);
for (i = 0; i < len; i++) {
if (inputString[i] >= 'a' && inputString[i] <= 'z') {
return 0;
}
}
return 1;
}

关于检查字母数字中字符是大写还是小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21288752/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com