码迷,mamicode.com
首页 > 其他好文 > 详细

5.14数据结构-串的输入,对比,复制,匹配

时间:2019-05-14 13:18:16      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:匹配   turn   \n   字符串   har   ng2   bsp   字符   length   

#include<stdio.h>
#define size 100

typedef struct node{
    char c1[size];
    int length=0;
}sq;

int leng1(sq&l){
    int i=0;
    while(l.c1[i]!=\0){
        l.length++;
        i++;
    }
    return l.length;
}                      //求c1长度 

int leng2(char c[]){
     int b=0,i=0;
    while(c[i]!=\0){
        i++;
        b++;
    } 
    return b;                      //求c2长度 
}

main(){
    sq l; 
    int num1,num2,num3=0,num4,a=0,i,j;
    char c2[size],c3[size],c4[size];
    printf("请输入存入c1的字符串:");
    gets(l.c1) ;
    printf("请输入存入c2的字符串:");
    gets(c2) ;
    printf("请输入要与c1对比的子串:");
    gets(c4);
    num1=leng1(l);
    printf("c1长度为:%d\n",num1);
    num2=leng2(c2);
    printf("c2长度为:%d\n",num2);
    
    if(num1==num2){
        for(i=0;i<num1;i++){
            if(l.c1[i]!=c2[i]){
            a=l.c1[i]>c2[i]?1:-1;
            printf("%d\n",a);
            } 
        }        
    }
    if(a==0||num1!=num2) printf("0\n");   //判断相等 
    
    for(i=0;i<num2;i++){
        l.c1[l.length] = c2[i];
        l.length++;
    }                           //将b添加到a的后面
    
    printf("此时c1中有数据:\n");
    for(i=0;i<num1+num2;i++){
        printf("%c",l.c1[i]);
    }
    printf("\n");
    
    printf("请输入要复制开始的位置(值要小于%d)\n",l.length);//将 c1从I个位置开始的j个数据复制给c3
    scanf("%d",&i);
    printf("请输入复制结束的位置:(值要小于%d)\n",l.length);
    scanf("%d",&j);
    int k=0; 
    if(i<0||i>l.length||j<i||j>l.length) printf("错误!"); 
    else{
        for(i;i<j;i++){        
        c3[k]=l.c1[i-1];
        num3++; k++; 
//       printf("%c",c3[k]); 
        }   
    }
     
    printf("\n");
    printf("c3的数据个数为:%d",num3);
    printf("\n"); 
    
    num4=leng2(c4);                                   
    printf("c4的数据个数为:%d\n",num4);          //查找子串开始的位置 
    for(i=0;i<num1;i++){
        for(k=i,j=0;j<num1;k++,j++){
            if(l.c1[k]!=c4[j])break;
        } 
        if(j==num4) {
            printf("在第%d个位置",i+1); 
        }        
    } 
    
    
}

 

5.14数据结构-串的输入,对比,复制,匹配

标签:匹配   turn   \n   字符串   har   ng2   bsp   字符   length   

原文地址:https://www.cnblogs.com/huangjiaxin/p/10859846.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!