大概是原创吧,杭电2054 A==B?

本文介绍了一个C语言程序,该程序通过删除输入字符串前导和尾随的零以及小数点来标准化数值字符串,并比较两个这样的字符串是否相等。主要关注字符串处理函数的实现及其在比较过程中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include<stdio.h>
#include<string.h>
int find_First_Not_Zero(char a[]);
void del_PostZero(char a[]);
int judge_dot(char a[],int i);

int main()
{
     char a[50000],b[50000];
     while( scanf("%s%s",a,b)!=EOF )
     {
          int k1=find_First_Not_Zero(a);
          if( judge_dot(a,k1) )
              del_PostZero(a);
          int k2=find_First_Not_Zero(b);
          if( judge_dot(b,k2) )
              del_PostZero(b);
          if(strcmp(&a[k1],&b[k2])==0)
              printf("YES\n");
          else
              printf("NO\n");
     }
}

int find_First_Not_Zero(char a[])
{
     int i=0;
     while(a[i]=='0')
           i++;
     if(a[i]=='.')
     i--;
     return i;
}

void del_PostZero(char a[])
{
     int last=strlen(a)-1;
     while(a[last]=='0')
         last--;
     if(a[last]=='.')
         last--;
     last++;
     a[last]=NULL;
}

int judge_dot(char a[],int i)
{
     for(; a[i]!=NULL; i++)
     {
          if(a[i]=='.')
          return 1;
     }
     return 0;
}



感觉命名问题很大,希望大神指导
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值