杭电ACM-2629

题目:

2629题

代码:

#include<stdio.h>
#include<string.h>
int main()
{
    int i,k,n,y,m,d,adress;
    char a[18],s[20];
    scanf("%d",&n);
    for(k=0;k<n;k++)
    {
        getchar();
        for(i=0;i<18;i++)
        {
            scanf("%c",&a[i]);
        }
        adress=(a[0]-'0')*10+(a[1]-'0');
        if(adress==33) strcpy(s,"Zhejiang");
        if(adress==11) strcpy(s,"Beijing");
        if(adress==71) strcpy(s,"Taiwan");
        if(adress==81) strcpy(s,"Hong Kong");
        if(adress==82) strcpy(s,"Macao");
        if(adress==54) strcpy(s,"Tibet");
        if(adress==21) strcpy(s,"Liaoning");
        if(adress==31) strcpy(s,"Shanghai");
        printf("He/She is from %s,and his/her birthday is on %c%c,%c%c,%c%c%c%c based on the table.\n",s,a[10],a[11],a[12],a[13],a[6],a[7],a[8],a[9]);
    }
    return 0;
}

注意:
只要遇到字符就要想到getchar 这个字符有时候会吃掉‘\n’导致字符串不完整 很可怕的
其次这道题只能用字符变量 因为身份证号码是连续的 所以整形没法分离出来
最后要注意字符串不能赋值 字符串不能赋值 字符串不能赋值!!!
要赋值就用strcpy(a,b);!!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 这个是初始版本,还会进行改正和补充,请大家认真熟悉这些基础知识!如有错误,请在评论区留言@作者 总体上必须清楚的:...
    亦一银河阅读 7,301评论 3 40
  • 版权声明:本文为 gfson 原创文章,转载请注明出处。注:作者水平有限,文中如有不恰当之处,请予以指正,万分感谢...
    gfson阅读 8,677评论 0 6
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,401评论 30 472
  • C基础第四天 今天讲的是指针和字符串数组,不知道是之前留下的印象还是确实难理解,讲到这里的时候思维就自然而然的跟不...
    雨打梨花闭门寒阅读 2,415评论 0 0
  • 有艺术感的照片让人心生欢喜,如果再配上好的文字,那就更具有生命和故事。照片里传递出摄影者对美的事物的喜爱和追求。 ...
    女人和狗阅读 3,126评论 0 0

友情链接更多精彩内容