C语言的作业,求帮忙!!

2024-11-29 07:34:19
推荐回答(1个)
回答(1):

#include
#include
#define N 255
void separateUpper(char *src,char *dest)
{
int i,j;
i=j=0;
while(src[i] != '\0'){
if(src[i]>='A' && src[i]<='Z'){
dest[j++]=src[i];
}
i++;
}
dest[j]='\0';
}
void separateLower(char *src,char *dest)
{
int i,j;
i=j=0;
while(src[i] != '\0'){
if(src[i]>='a' && src[i]<='z'){
dest[j++]=src[i];
}
i++;
}
dest[j]='\0';
}
void separateOther(char *src,char *dest)
{
int i,j;
i=j=0;
while(src[i] != '\0'){
if(!((src[i]>='a' && src[i]<='z') || (src[i]>='A' && src[i]<='Z'))){
dest[j++]=src[i];
}
i++;
}
dest[j]='\0';
}
//冒泡排序(升序)函数
void sort(char *str)
{
int i,j,n;
char tmp;
n=strlen(str);
for(i=0;i for(j=0;j {
if(str[j] > str[j+1])
{
tmp=str[j];
str[j]=str[j+1];
str[j+1]=tmp;
}
}
}
int main()
{
char str[N],upper[N],lower[N],other[N];
printf("输入字符串: ");
scanf("%s",str);
separateUpper(str,upper);
separateLower(str,lower);
separateOther(str,other);
sort(upper);
sort(lower);
sort(other);
printf("输出原字符串: %s\n",str);
printf("输出大写字符: %s\n",upper);
printf("输出小写字符: %s\n",lower);
printf("输出其他字符: %s\n",other);
return 0;
}

//示例运行结果
F:\c_work>a.exe
输入字符串: Absc!@DEFG#$%^NJGhjkkd123.org.com!
输出原字符串: Absc!@DEFG#$%^NJGhjkkd123.org.com!
输出大写字符: ADEFGGJN
输出小写字符: bccdghjkkmoors
输出其他字符: !!#$%..123@^