C程序设计课件6.8.pptVIP

  • 2
  • 0
  • 约3.88千字
  • 约 6页
  • 2023-11-20 发布于广东
  • 举报
#include stdio.h#define N 3struct student{ char num[7],name[7]; int com,eng,total;};【例1】将下列学生成绩按总成绩降序排列。void main(){ int i; void sorttotal(struct student s[], int n);/*引用说明*/ struct student stu[N]={{202149,王学海, 83,77,0}, {203120,刘玉芳,89,72,0}, {201034,邱玲,76,68,0} }; sorttotal(stu,N); for(i=0;iN;i++) printf(%s\t%s\t%d\t\t%d\t\t%d\n, stu[i].num, stu[i].name,stu[i].com,stu[i].eng,stu[i].total); }/* 排序函数(选择排序法) */void sorttotal(struct student s[], int n){ int i,j,k; struct student t; for(i=0;in;i++) s[i].total=s[i].com+s[i].eng; for(i=0;in-1;i++) { for(k=i,j=i+1;jn;j++) if(s[k].totals[j].total) k=j; if(i!=k) { t=s[k];s[k]=s[i];s[i]=t;} } }程序1?学号姓名计算机成绩英语成绩总成绩202149王学海8377203120刘玉芳8972201034邱玲7668/*调用排序函数*//*输出*//*计算总成绩*//*排序*/ 【例2】有三个候选人, 由10个选民参加投票选出一个代表, 统计每个候选人得票数。#include stdio.hstruct person{ short int code; char name[20]; int count;}leader[3]={{1, li,0},{2, zhang,0},{3, xue,0}}; void main(){ int i; short int select; printf(1--li 2--zhang 3--xue\n); for(i=0;i10;i++) { printf(%d\tPlease input your result:,i+1); scanf(%hd,select); leader[select-1].count++; } printf(----====The result====----\n); for(i=0;i3;i++) printf(%hd\t%s\t%d\n,leader[i].code,leader[i].name,leader[i].count);}程序2?/*输入并统计*//*输出统计结果*/ 【例3】已知h是一个带头结点的非空单链表, 结点结构为: struct link {int data;struct link *next;}; 编写函数fmax, 求出链表中数据域的最大值。 fmax(struct link *h){ struct link *p; int max; /*存放最大值*/ p=h-next; /*p指向第一个结点*/ max=p-data; /*初始化最大值*/ p=p-next; /*p指向第二个结点*/ while(p) { } return max; /* 返回最大值 */}程序3?/*用第一个结点值初始化max*//*max依次与后面结点值比较, 若max小, 则更新*/if(p-datamax) max=p-data; /* 更新max */p=p-next; /* p指向下一个结点 */ 【例4】设有若干个人员的记录, 其中有学生和教师。 学生记录包括: 学号, 姓名, 性别, 职业, 成绩; 教师记录包括: 编号, 姓名, 性别, 职业, 职称。 编写程序, 进行输入和输出操作。struc

文档评论(0)

1亿VIP精品文档

相关文档