資源簡介
C語言入門,學生成績管理系統,使用結構體數組儲存數據,可以根據姓名,分數排序,統計不同科目的平均分等等。
代碼片段和文件信息
#include
#include
typedef?struct?student_achievement
{
????char?name[21];
????int??numberorder;
????float?average_scoretotal_scorescore[6];
}?AC;
AC?student[30];
void?input(AC?*achievementint?Nint?M)???????????????????????????????????//輸入函數
{
????int?ik;
????for(?i=0k=1;?i ????{
????????printf(“Please?input?student%d?numbernamescore:\n“i+1);
????????AC?*student1=achievement+i;
????????float?total=0average;
????????while(k==1)
????????{
????????????printf(“number:“);
????????????scanf(“%d“&student1->number);
????????????if(getchar()!=10)
????????????{
????????????????printf(“Input?error!\n“);?????????????????????????????????//輸入錯誤提示
????????????????fflush(stdin);????????????????????????????????????????????//清除緩沖區
????????????}
????????????else
????????????????break;
????????}
????????while(k==1)
????????{
????????????printf(“name:“);
????????????scanf(“%s“&student1->name);
????????????if(getchar()!=10)
????????????{
????????????????printf(“Input?error!\n“);?????????????????????????????????//輸入錯誤提示
????????????????fflush(stdin);?????????????????????????????????????????????//清除緩沖區
????????????}
????????????else
????????????????break;
????????}
????????while(k==1)
????????{
????????????printf(“each?course?score:“);
????????????int?j;
????????????for(j=0;?j ????????????????scanf(“%f“&student1->score[j]);
????????????if(getchar()!=10)
????????????{
????????????????printf(“Input?error!\n“);?????????????????????????????????//輸入錯誤提示
????????????????fflush(stdin);????????????????????????????????????????????//清除緩沖區
????????????}
????????????else
????????????????break;
????????}
????????int?j;
????????for(j=0;?j ????????????total=total+(student1->score[j]);
????????average=total/M;
????????(student1->total_score)=total;
????????(student1->average_score)=average;
????}
????float?a[30]b[30];??????????????????????????????????????????????????//冒泡排序求排名
????for(i=0;?i ????{
????????a[i]=(achievement+i)->total_score;
????????b[i]=i+1;
????}
????while(k==0)
????{
????????k=1;
????????float?j;
????????for(i=0;?i ????????????if(a[i]????????????{
????????????????j=a[i+1];
????????????????a[i+1]=a[i];
????????????????a[i]=j;
????????????????j=b[i+1];
????????????????b[i+1]=b[i];
????????????????b[i]=j;
????????????????k=0;
????????????}
????}
????for(i=0;?i ????????(achievement+i)->?order=b[i];
????printf(“\nInput?record?success!\n“);
}
void?score_of_course(AC?achievement[]int?Nint?M)???????????????????????//函數2:計算每門課程的總分和平均分
{
????float?total[6]average[6];
????int?ij;
????for(i=0;?i ????{
????????total[i]=0;
????????for(j=0;?j ????????????total[i]=total[i]+achievement[j].score[i];
????}
????for(i=0;?i ????????average[i]=total[i
- 上一篇:雙邊濾波器 C語言程序可用
- 下一篇:TCL腳本培訓教程(華為)
評論
共有 條評論