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

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

同一天生日問題

2019-11-11 04:21:41
字體:
來源:轉載
供稿:網友
   #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的答案了,代碼大致是先定義一個結構體再用快速排序函數通過指針變量對結構題內容進行排序,再按照注釋進行,最后再用一個標志檢驗是否有生日相同人

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 泌阳县| 青海省| 泽普县| 利辛县| 盘山县| 五指山市| 合肥市| 亳州市| 成都市| 宣汉县| 河间市| 沈丘县| 德昌县| 绥德县| 唐山市| 阿拉尔市| 蛟河市| 承德市| 高邮市| 阿城市| 定南县| 永泰县| 安溪县| 涪陵区| 女性| 油尖旺区| 望都县| 万州区| 渭南市| 抚顺市| 上犹县| 香河县| 尼勒克县| 渭南市| 绥芬河市| 磴口县| 台中县| 方城县| 镇原县| 日照市| 石泉县|