當前位置:編程學習大全網 - 編程語言 - C語言編程:輸入每個學生的姓名和數學、語文、外語成績,統計每人的平均值,並按平均值降序排列……

C語言編程:輸入每個學生的姓名和數學、語文、外語成績,統計每人的平均值,並按平均值降序排列……

#include?<stdio.h>

typedef?struct

{

char?name[10];

char?birth[11];

double?chinese;

double?english;

double?math;

double?ave;

}student;

void?input(student?*p,int?n)

{

int?i;

for(i=0;i<n;i++)

{

printf("請輸入第%d位學生信息:\n",i+1);

printf("姓名:");

scanf("%s",(p+i)->name);

printf("生日(格式:2000-1-1):");

scanf("%s",(p+i)->birth);

printf("語文成績:");

scanf("%lf",&(p+i)->chinese);

printf("數學成績:");

scanf("%lf",&(p+i)->math);

printf("英語成績:");

scanf("%lf",&(p+i)->english);

(p+i)->ave=((p+i)->chinese+(p+i)->math+(p+i)->english)/3;

}

printf("輸入完成!\n\n");

}

void?output(student?*p,int?n)

{

int?i;

printf("%10s%11s%9s%9s%9s%8s\n","姓名","生日","語文成績","數學成績","英語成績","平均分");

for(i=0;i<n;i++)

{

printf("%10s",(p+i)->name);

printf("%11s",(p+i)->birth);

printf("%9.0f",(p+i)->chinese);

printf("%9.0f",(p+i)->math);

printf("%9.0f",(p+i)->english);

printf("%8.2f\n",(p+i)->ave);

}

printf("輸出完成!\n\n");

}

void?sort(student?*p,int?n)

{

int?i,j;

student?t;

for(i=1;i<n;i++)

{

for(j=1;j<=n-i;j++)

{

if((*(p+i)).ave>(*(p+i-1)).ave)

{

t=*(p+i);

*(p+i)=*(p+i-1);

*(p+i-1)=t;

}

}

}

printf("--------------排序完成!\n\n");

}

int?main()

{

int?n,i;

student?stu[100];

printf("請輸入人數:");

scanf("%d",&n);

input(stu,n);

sort(stu,n);

output(stu,n);

return?0;

}

以前寫過類似的題目,妳可以修改修改,就差不多是妳題目要求了。

  • 上一篇:電大學生畢業自我鑒定怎麽寫
  • 下一篇:重慶永川成人學歷提升方式有幾種?
  • copyright 2024編程學習大全網