我下面这个程序完全满足你的要求;#include <stdio.h>#include <string.h>#define N 100typedef struct student{ int order;//序号 int number;//序号 float height;//身高}STU;float Inputdata(STU stu[],int i,int j);void Comparedata(STU stu[],int n);void Outputdata(STU stu[],int n);void ChengFaBiao();int main(){ int i=3,j=1; float n; STU stu[N]; //下面是先定义三个同学的各种数据 stu[0].order=1; stu[0].number=1; stu[0].height=1.50; stu[1].order=2; stu[1].number=2; stu[1].height=1.55; stu[2].order=3; stu[2].number=3; stu[2].height=1.60; while (1) { n=Inputdata(stu,i,j); if (n==100) { ChengFaBiao(); break; } Comparedata(stu,i+1); Outputdata(stu,i); i++; j++; } return 0;}//输入数据float Inputdata(STU stu[],int i,int j){ scanf ("%f",&stu[i].height); stu[i].order=j; stu[i].number=i+1; return stu[i].height;}void Comparedata(STU stu[],int n){ int i,j; STU temp; for (i=1;i<n;i++) { for (j=0;j<n-i;j++) { if (stu[j].height>stu[j+1].height) { temp=stu[j]; stu[j]=stu[j+1]; stu[j+1]=temp; } } }}void Outputdata(STU stu[],int n){ int i; for (i=0;i<=n;i++) { printf ("%d %d %.2f\n",stu[i].order,stu[i].number,stu[i].height); }}void ChengFaBiao(){ int a,b,c; for (a=1;a<=9;a++) { for (b=1;b<=a;b++) { c=a*b; printf ("%d*%d=%-2d ",b,a,c); if (b==a) { printf ("\n"); } } }}下面是结果图:还有问题吗,谢谢采纳,Thanks♪(・ω・)ノ