第一次变量冲突问题 解决了一个多小时,。。。。
代码如下: ↓
#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[N],str2[N]; 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; }
时间: 2024-10-13 05:35:42