美文网首页
实验7.3 字符串

实验7.3 字符串

作者: 林之禾 | 来源:发表于2017-12-05 22:59 被阅读0次
    7-1 统计大写辅音字母(15 分)
    #include <stdio.h>
    #include <string.h>
    #define STRMAX 81
    int main(){
        char str[STRMAX];
        gets(str);
        int count=0;
        for(int i=0;i<strlen(str);i++){
            if(str[i]>='B'&&str[i]<='Z'){
                if(str[i]!='E'&&str[i]!='I'&&str[i]!='O'&&str[i]!='U'){
                    count++;
                }
            }
        }
        printf("%d",count++);
        
        return 0;
    }
    
    7-2 统计字符出现次数(20 分)
    #include <stdio.h>
    #include <string.h>
    #define STRMAX 81
    int main(){
        char str[STRMAX];
        gets(str);
        char ch;
        ch=getchar();
        int count=0;
        for(int i=0;i<strlen(str);i++){
            if(str[i]==ch){
                    count++;
            }
        }
        printf("%d",count++);
        
        return 0;
    }
    
    7-3 字符串逆序(15 分)
    #include <stdio.h>
    #include <string.h>
    #define STRMAX 81
    int main(){
        char str[STRMAX];
        gets(str);
        for(int i=strlen(str)-1;i>=0;i--){
            putchar(str[i]);
        }
        
        
        return 0;
    }
    
    7-4 字符串字母大小写转换(15 分)
    #include <stdio.h>
    #include <string.h>
    #include <ctype.h>
    #define STRMAX 81
    int main(){
        char str[STRMAX];
        gets(str);
        for(int i=0;i<strlen(str);i++){
            if(str[i]>='A'&&str[i]<='Z'){
                str[i]=tolower(str[i]);
            }
            else if(str[i]>='a'&&str[i]<='z'){
                str[i]=toupper(str[i]);
            }
        }
        for(int i=0;i<strlen(str);i++){
            if(str[i]!='#'){
                printf("%c",str[i]);
            }
            
        }
        return 0;
    }
    
    7-5 查找指定字符(15 分)
    #include <stdio.h>
    #include <string.h>
    #define STRING_SIZE 81
    int main() {
        char str[STRING_SIZE];
        char ch,ch1;
        int i=0, flag = 0,ad=0;
        scanf("%c", &ch);
        scanf("%c", &ch1);
        gets(str);
        while(str[i] != '\0') {
            if(str[i] == ch) {
                ad = i;
        flag=1;
            }
            i++;
        }
        if(flag==1) {
            printf("index = %d", ad);
        }
        else{
            printf("Not Found");
        }
        return 0;
    }
    
    7-6 字符串转换成十进制整数(15 分)
    #include <stdio.h>
    #include <string.h>
    #define STRMAX 81
    int main(){
        char str[STRMAX],str1[STRMAX];
        int i=0,k=0,flag=1,ad=0;
        while((str[i++]=getchar())!='#');
        str[i]='\0';
        for(i=0;str[i]!='\0';i++){
            if(str[i]>='0'&&str[i]<='9'||str[i]>='a'&&str[i]<='f'||str[i]>='A'&str[i]<='F'){
                ad=i;
                break;
            }
        }
        for(i=0;i<ad;i++){
            if(str[i]=='-'){
                flag=0;
            }
        }
        for(i=0;str[i]!='\0';i++){
            if(str[i]>='0'&&str[i]<='9'||str[i]>='a'&&str[i]<='f'||str[i]>='A'&str[i]<='F'){
                str1[k++]=str[i];
            }
        }
        str1[k]='\0';
        int number=0;
        for(i=0;str1[i]!='\0';i++){
            if(str1[i]>='0'&&str1[i]<='9'){
                number=number*16+str1[i]-'0';
            }else if(str1[i]>='a'&&str1[i]<='f'){
                number=number*16+str1[i]-'a'+10;
            }else if(str1[i]>='A'&&str1[i]<='F'){
                number=number*16+str1[i]-'A'+10;
            } 
        }
        if(flag){
                printf("%d",number);
        }else{
                printf("-%d",number);
        }
    
        return 0;
    }
    
    7-7 输出大写英文字母(15 分)
    #include <stdio.h>
    #include <string.h>
    #define STRMAX 81
    #define MAX 27
    int main()  
    {  
        int i, j, isExist, index = 0,flag=0;  
        char str[STRMAX],str1[MAX];
        gets(str);
        for(i=0;i<strlen(str);i++){
            isExist=0;
            if(str[i]>='A'&&str[i]<='Z'){
                for(j=0;j<strlen(str1);j++){
                    if(str[i]==str1[j]){
                        isExist=1;
                        break;
                    }
                }
                if(!isExist){
                    str1[index++]=str[i];
                    flag=1; 
                }
            }
        }
        str1[index]='\0';
        if(flag==1){
            puts(str1);
        }else{
            printf("Not Found");
        }
        
          
        return 0;  
    }  
    
    7-8 删除重复字符(20 分)
    #include <stdio.h>
    #include <string.h>
    #define STRMAX 81
    int main()  
    {  
        int i, j, isExist, index = 0,flag=0;  
        char str[STRMAX],str1[STRMAX];
        gets(str);
        for(i=0;i<strlen(str);i++){
            isExist=0;
                for(j=0;j<strlen(str1);j++){
                    if(str[i]==str1[j]){
                        isExist=1;
                        break;
                    }
                }
                if(!isExist){
                    str1[index++]=str[i];
                }
        }
        str1[index]='\0';
        for(i=0;i<strlen(str1)-1;i++){
            for(j=i+1;j<strlen(str1);j++){
                if(str1[i]>str1[j]){
                    char temp =str1[i];
                    str1[i]=str1[j];
                    str1[j]=temp;
                }
        }
        }
        puts(str1);
    
        
          
        return 0;  
    }  
    

    相关文章

      网友评论

          本文标题:实验7.3 字符串

          本文链接:https://www.haomeiwen.com/subject/dlmhixtx.html