7-2 判断字符串结尾方式 (16分)

输入2个字符串,判断其中一个字符串是否是以另一个字符串结尾

输入格式:
输入2行,每行一个字符串数据

输出格式:
如果第1个字符串以第2个字符串结尾,输出第2个字符串 如果第2个字符串以第1个字符串结尾,输出第1个字符串 如果两个字符串互为对方的结尾字符,输出’all’ 如果都不满足,输出’no’

输入样例:
abc123
123

输出样例:
123

#include<stdio.h>
#include<string.h>
int main(){
    char str1[66],str2[66];
    int i,j,k=0,len1,len2;
    gets(str1);
    gets(str2);//输入两个字符串
    len1=strlen(str1);
    len2=strlen(str2);//得到两个字符串的长度
    if(len1==len2){/*分三种情况,如果长度相等,
    则只有all和no两种情况*/
        if(strcmp(str1,str2)==0)//比较两个字符串是否相等
            printf("all");
        else
            printf("no");
    }
    else if(len1>len2){
        for(i=len1-len2+1,j=0;i<=len2;i++,j++){
            if(str1[i]!=str2[j]){//如果有不相等的字符,k变成1,然后直接退出
                k=1;
                break;
            }
        }
        if(k==1)//如果k变成1了,说明有字符不相等,则输出no
            printf("no");
        else
            printf("%s",str2);
    }
    else{
        for(i=len2-len1+1,j=0;i<len1;i++,j++){
            if(str2[i]!=str1[j]){
                k=1;
                break;
            }
        }
        if(k==1)
            printf("no");
        else
            printf("%s",str1);
    }
    return 0;
}
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值