国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

同一天生日問題

2019-11-11 03:51:49
字體:
來源:轉載
供稿:網友
   #include <stdio.h>#include <string.h>#include <stdlib.h>    struct student    {        unsigned int month, day;        char name[20];    };    int student_compare( const void* stu_a, const void* stu_b )    {        struct student* a = (struct student*)stu_a;        struct student* b = (struct student*)stu_b;        if( a->month < b->month ) return -1;        if( a->month > b->month ) return +1;        if( a->day < b->day ) return -1;        if( a->day > b->day ) return +1;        if( strlen(a->name) < strlen(b->name) ) return -1;        if( strlen(a->name) > strlen(b->name) ) return +1;        return strcmp(a->name,b->name);    }int main( ){    struct student s[180];    unsigned int n,i;    // 輸入    scanf( "%u", &n );    for( i=0; i!=n; ++i )        scanf( "%s%u%u", s[i].name, &s[i].month, &s[i].day );    // 排序    qsort( s, n, sizeof(*s), &student_compare );    // 輸出    _Bool bfound = 0;    for(i=0; i!=n; ++i )    {        if( i!=0 && s[i].month==s[i-1].month && s[i].day==s[i-1].day )        {            PRintf( " %s", s[i].name );        }        else if( i!=n && s[i].month==s[i+1].month && s[i].day==s[i+1].day )        {            if( bfound ) putchar( '/n' );            printf( "%u %u %s", s[i].month, s[i].day, s[i].name );            bfound = 1;        }    }    if( !bfound )        puts( "None" );    return 0;

}

我總算有個c的答案了,代碼大致是先定義一個結構體再用快速排序函數通過指針變量對結構題內容進行排序,再按照注釋進行,最后再用一個標志檢驗是否有生日相同人

找到相同的生日這個方法好像可以,可以記下來,然后快速排序函數大致框架可以記下來,然后->符號是指向意思,服了自己了,,,,,,,,,,,,,,,,,,,,,,,,不明白為什么對生日也要進行排序,然后比較的是字符串長度,還有返回值也是先比較字符串,,,再去看看快速排序函數介紹好了


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 四子王旗| 金川县| 鲁甸县| 米脂县| 河东区| 金寨县| 彭泽县| 和林格尔县| 岳普湖县| 五大连池市| 静海县| 诏安县| 金昌市| 老河口市| 汨罗市| 读书| 绵竹市| 都江堰市| 噶尔县| 那坡县| 广州市| 曲麻莱县| 荥阳市| 巨鹿县| 邢台市| 抚宁县| 南平市| 宁波市| 玛纳斯县| 宽城| 桐乡市| 治多县| 英吉沙县| 吴江市| 罗平县| 淅川县| 洪湖市| 怀安县| 勐海县| 图片| 中西区|