您的位置:首页 > 编程语言 > C语言/C++

2016.06.06 周一 C语言 将字符串根据字符的ASCII码从大到小排序并打印出字符串中的字符类型的总数

2016-06-06 23:21 549 查看

第一次变量冲突问题 解决了一个多小时,。。。。

代码如下: ↓

 

 

#include<stdio.h>
#include<string.h>
#define N 200   //输入字符串的最大长度
int main()
{

//************************输入开始部分********************************
printf("请输入字符串。(长度在200以内)\n\n");
int i=0,j,k,temp,lowLetters=0,capLetters=0,num=0,speChar=0;  //定义计数变量
char str1
,str2
;
gets(str1);    //接收键盘输入的字符串传递给str1数组

//***********************排序部分************************************
strcpy(str2,str1);
for(k=0;k<strlen(str2);k++)
for(j=k+1;j<strlen(str2);j++)
{
if(str2[j]>str2[k])
{
temp=str2[k];
str2[k]=str2[j];
str2[j]=temp;
}
}

//************************判断类型部分*****************************
while(str1[i])
{
if(str1[i]>='a'&&str1[i]<='z')
{
printf("\t%c\t是小写字母\n",str1[i]);
lowLetters++;
}
else if(str1[i]>='A'&&str1[i]<='Z')
{
printf("\t%c\t为大写字母\n",str1[i]);
capLetters++;
}
else if(str1[i]>='0'&&str1[i]<='9')
{
printf("\t%c\t为数字\n",str1[i]);
num++;
}
else if(str1[i]<=127)
{
printf("\t%c\t为特殊字符\n",str1[i]);
speChar++;
}
i++;
}

//***********************************统计总数部分**********************************
printf("\n\n\t\t按照ASCII码从大到小排列后的字符串为: %s\n",str2);
printf("\n\n\t\t字符串长度为 %d \n",strlen(str1));
printf("\t\t大写字母共有 %d 个\n",capLetters);
printf("\t\t小写字母共有 %d 个\n",lowLetters);
printf("\t\t特殊字符共有 %d 个\n",speChar);
printf("\t\t数字共有 %d 个\n",num);
return 0;
}

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐