1. 程式人生 > 其它 >習題9-5 通訊錄排序 (20 分)

習題9-5 通訊錄排序 (20 分)

技術標籤:PTA - 浙大版《C語言程式設計》題目集

#include <stdio.h>
#include <string.h>
struct inf{
    char name[11];
    int birth;
    char phone[18];
};
int main(){
    int n;
    scanf("%d",&n);
    struct inf man[n],temp;
    for(int i=0;i<n;i++){
        scanf("%s %d %s",man[
i].name,&man[i].birth,man[i].phone); getchar(); //收集回車符 } for(int i=0;i<n-1;i++){ for(int j=n-1;j>i;j--){ if(man[j].birth<man[j-1].birth){ //出身日期越小,年齡越大 temp=man[j]; //這三行簡化以下的註釋程式碼 man[j]=man[j-1]; man[j-
1]=temp; // strcpy(temp.name,man[j].name); // strcpy(man[j].name,man[j-1].name); // strcpy(man[j-1].name,temp.name); // temp.birth=man[j].birth; // man[j].birth=man[j-1].birth; // man[j-1].birth=temp.birth; // temp.birth=man[j].birth;
// strcpy(temp.phone,man[j].phone); // strcpy(man[j].phone,man[j-1].phone); // strcpy(man[j-1].phone,temp.phone); } } } for(int i=0;i<n;i++){ printf("%s %d %s\n",man[i].name,man[i].birth,man[i].phone); } return 0; } // ^ //1995 05 10 //1995 0 12 //1997 12 13 //1997 10 10