結構應用上機自測

字號:

結構應用程序
    1.設職工信息包括工號、月收入等,輸入若干位職工的信息(以工號為0表示輸入結束)。計算并輸出每位職工的工號、月收入和應交公積金的金額。其中公積金的計算方法為:月收入大于等于l000元者,其公積金為月收入的4%;月收入不足1000元者,其公積金為月收入的3%。
     【參考解】程序定義一個元素類型為結構類型的數(shù)組。程序首先輸入職工信息存入結構數(shù)組中,并統(tǒng)計輸入的職工信息條數(shù)。然后,遍歷結構數(shù)組,按數(shù)組元素中的月收入信息計算每位職工的公積金。后輸出結構數(shù)組的內容。相應程序如下:
    # include
    # define N 100
    Struct sT {
    int no;
    float in;
    float ps;
    } emp[N];
    main()
    { int k,i;
    printf("Enter data of employees! ”");
    for( k = 0;k < N; k++ ) {
    printf("Enter number of employee(zero for finisf) "); scanf("%d",&emp[k].no);
    if(emp[k].no==0) break;
    printf("Enter income of employee "); scanf("%d",&emp[k].in);
    }
    for( i=0; i< k - 1; i++)
    emp[k].ps = emp[k].in * ( emp[k].in >= 1000.00? 0.04:0.03);
    for( i=0; i< k; i++)
    printf("編號:%d月收入:%.2f公積金:.2f",
    emp[i].no, emp[i].in, emp[i].ps );
    }
     2.設學生的結構信息有學號和三門課程的成績,編寫程序,輸入若干名學生的學號和成績(以輸入學號為0結束輸入),,計算并輸出總分高學生的學號和他們的三門課程成績
     【參考解】程序定義一個元素類型為結構類型的數(shù)組。為了程序處理簡便,結構類型可以包括學號、含3門課程成績的數(shù)組和一個總分三個成分。程序首先輸入學生信息,并在輸入同時統(tǒng)計輸入的學生信息條數(shù)。接著用循環(huán)計算各個學生的總分存入結構數(shù)組的元素中。接著尋找高分,然后找出與高分相同的學生,并輸出其信息。相應程序如下:
    # include?
    # define N 100
    # define MARKS 3
    struct sT {
    int no;
    int score [MARKS];
    int total;
    } st[N],t;
    void main()?
    { int k,j,i,t,max;
    printf("Enter data of students! \n");
    for(k=0;k    printf("Enter number of stedent(zero for finisf) ");
    scanf("%d",&st[k].no);
    if(st[k].no==0) break;
    printf("Enter %d scores of stedent",MARKS);
    for(j=0;j    scanf("%d",&st[k].score[j]);
    }
    for( i = 0;i < k; i++ ) {
    for( t=0,j=0; j < MARKS; j++)
    t+= st[i].score[j];
    st[i].total= t;
    }
    for(max= st[0].total,i=1;i    if( max< st[i].total) max=st[i].total;
    for( i=0; i    if( st[i].total==max) {
    printf("NO:%d\t", st[i].no);
    for(j=0;j< MARkS; j++)
    printf("%4d",st[i].score[j] );
    printf("\tTOTAL:%d\n",st[i].total);
    }
    }