原题链接

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
const int N = 1e5+10;
char a1[N],a2[N];//分别为a1和a2的字符串
int lena,lenb;//分别为a1和a2的字符串长度

//比较a2和5谁大 1代表比5大,2代表比5小,0代表相等于5
int cmp()
{
    if(a2[1]>'5')return 1;
    if(a2[1]<'5')return 2;

    //可以把小数点后的5看成,a2除第一位以外的每一位和0比较大小,如果有比0大说明就比5大
    for(int i = 2;i<=lenb;i++)
    {
      if(a2[i]>'0')return 1; 
    }
    return 0;
}
int main(void)
{
  //因为a1和a2长度会有1e5,所以要用字符将他们保存
    scanf("%s",a1+1);
    scanf("%s",a2+1);
    lena = strlen(a1+1);
    lenb = strlen(a2+1);

    int flag = cmp();
//    printf("%d\n",flag);
    if(flag == 1)
        printf("Happy birthday to MFGG");
    else if(flag == 2)
    {
        //注意如果a2是0的话,改变后的数是和原数相等的
        if(a2[1] != '0')
            printf("Happy birthday to YXGG");
        else
        //否则和原数相比一定是小了
            printf("PLMM");
    }
    else
    {
        int k = (a1[lena]-'0')%2;//判断a1的个位是奇数还是偶数
        if(k == 1)//说明是奇数,那么一定比原数大
            printf("Happy birthday to MFGG");
        else//否则一定小了
            printf("Happy birthday to YXGG");
    }
    return 0;
}

原文地址:http://www.cnblogs.com/loliconsk/p/16906566.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性