自考“高級語言程序設(shè)計”習題答案詳解(42)

  • 發(fā)布時間:2024-09-15 16:21:23
  • 來源:本站整理
  • 閱讀:
導讀:
  2.編一個程序,輸入10個職工的編號、姓名、基本工資、職務(wù)工資,求出其中“基本工資十職務(wù)工資”最少的職工姓名并輸出。
  「解」類似上一程序,直接給出程序如下:
  # include
  # define N 10
  struct person {
  char no[10];
  char name[20];
  float base1;
  float

2.編一個程序,輸入10個職工的編號、姓名、基本工資、職務(wù)工資,求出其中“基本工資十職務(wù)工資”最少的職工姓名并輸出。

「解」類似上一程序,直接給出程序如下:

# include

# define N 10

struct person {

char no[10];

char name[20];

float base1;

float base2;

} person[N], *p, *minp;

void main ()

{ float d;

char buf[120];

printf(“輸入%d個人的編號、姓名、基本工資、職務(wù)工資 \n”, N);

for(p=person; p PERSON+N; P++) {

scanf(“%s”, buf); strncpy(p - no,buf,9);

scanf(“%s”, buf); strncpy( p - name, buf, 19);

scanf(“%f”, d);p - base1 =d;

scanf(“%f”, d);p - base2=d;

}

for(minp=p=person; p PERSON+N; P++)

if (p - basel+p - base2 minp - basel+ minp - base2) minp =p;

printf(“基本工資與職務(wù)工資和最少的職工是%s \n”,minp - name);

printf(“他的基本工資與職務(wù)工資和是%.2f \n”,minp - basel+ minp - base2);

}

3.編一個程序,輸入10個學生的學號、姓名、3門課程的成績,求出總分最高的學生姓名并輸出。

「解」類似上一程序,直接給出程序如下:

# include

# include

# define N 10

struct stu {

char no[10];

char name[20];

int score[3];

} students[N],*p, *maxp;

void main()

{ char buf[120]; int maxs;

printf(“輸入%d個學生的編號、姓名、三門課程成績 \n”, N);

for(p= students;p students+N;p++) {

scanf(“%s”, buf); strncpy(p - no, buf, 9);

scanf(“%s”, buf); strncpy( p - name, buf,19);

scanf(“%d%d%d”, p - score[O], p - score[1], p - score[2]);

}

for(maxp= p =students, maxs=-1; p students+N; p++)

if( p - score[0] + p - score[1]+p - score[2] maxs) {

maxp=p;maxs=p - score[0]+p - score[1]+p - score[2];

}

printf(“最高總分的學生是%s他的總分是 %d \n”, maxp - name, maxs);

}

相關(guān)閱讀