【发布时间】:2020-06-22 14:04:20
【问题描述】:
我的老师给了我们编写一个声明为“int categorize(char *str)”的函数的代码,该函数接受一个字符串作为输入参数并对字符串进行分类。该函数应返回如下所述的类别编号:
类别 1:如果字符串仅包含大写字母(例如 ABCDEF),则函数应返回 1。
类别 2:如果字符串仅包含小写字母(例如 abcdef),则函数应返回 2。
类别 3:如果字符串只包含字母而没有其他符号(例如 ABCabc),则函数应返回 3。
类别 4:如果字符串仅包含数字(例如 12345),则函数应返回 4。
类别 5:如果字符串包含字母和数字但没有其他符号(例如 Hello123),则函数应返回 5。
第 6 类:否则,该函数应返回 6。
我写了这个但不工作
#include<stdio.h>
#include<string.h>
// Write your categorize function here
int categorize(char *str) {
int x=0;
while(str[x]!= '\0'){
if((*str>='A'&&*str<='Z') && (*str>='a'&&*str<='z') && (*str>='0'&&*str<='9'))
return 5;
else if((*str>='A'&&*str<='Z') && (*str>='a'&&*str<='z'))
return 3;
if((*str>='A') && (*str<='Z'))
return 1;
else if((*str>='a')&&(*str<='z'))
return 2;
else if((*str>='0')&&(*str<='9'))
return 4;
x++;
}
return 6;
}
///////////////////////////////////////
// Test main()
// DO NOT MODIFY main()
// or your code will not be evaluated
int main() {
char str[100];
scanf("%s",str);
int c = categorize(str);
printf("%d\n",c);
return 0;
}
///////////////////////////////////////
【问题讨论】: